Інтернет Windows Android

Періодичні реквізити 1с 8.3. Створення і запис нового елемента довідника

Привіт, дорогі наші колеги і партнери. За останній місяць до нас надійшло кілька запитань від користувачів програми 1С Бухгалтерія 8.3 з проханням допомогти налаштувати в програмі список номенклатури так як було в 8.2. Тобто в старій програмі вони могли бачити в списку номенклатури артикул або код номенклатурної позиції. Це було дуже зручно. А ось в 8.3 нічого не видно і не зрозуміло. Насправді все дуже нескладно налаштувати. Тому ми вирішили написати невелику інструкцію з налаштування довідників в програмі 1С Бухгалтерія 8.3, але цей алгоритм застосуємо в будь-якої конфігурації 1С.

Отже, в розділі «Довідники» відкриємо довідник «Номенклатура».

У списку, ми бачимо назву номенклатури, в якому немає відомостей про артикул товару. Для того щоб змінити уявлення довідника, скористаємося налаштуванням його форми. Відкривши по кнопці «Ще» список команд, в самому низу знайдемо «Змінити форму».

У формі нам представлені всі реквізити довідника, які можна вивести на екран.

Встановивши прапорець, наприклад «Код» і «Артикул» ми отримаємо список номенклатури, в якому відображені і код і артикул.

Однак в такому вигляді деяким користувачам довідник теж не подобається. Вони хочуть бачити номер і артикул перед назвою товару. Це теж дуже легко вирішується. Знову відкриваємо форму настройки списку і за допомогою синіх стрілок на панелі інструментів пересуваємо реквізит вгору або вниз, в залежності від того, як ми хочемо бачити список. Також можна «перетягувати» реквізити за допомогою лівої кнопки миші.

Ось тепер список номенклатури такий, яким ви хотіли його бачити.

Експериментуйте з налаштуваннями списку. Не бійтеся. Все що я написала, можна використовувати в будь-якої конфігурації на керованих формах і в будь-якому довіднику, наприклад, вивести на екран КПП в довіднику «Контрагенти» або номер договору в довіднику «Договори». Не бійтеся, що ви що то «зламаєте» в програмі.

В крайньому випадку, вас завжди врятує можливість «Встановити стандартні налаштування», яка знаходиться в налаштуванні форми в розділі «Ще»

І ще. Іноді телефонують клієнти з таким питанням: «Я на щось натиснула і у мене тепер найменування не за алфавітом. Поверніть все як у мене було ». Це питання теж легко вирішується. У кожному довіднику в рядку заголовка табличній частині завжди є «чарівна стрілочка», яка вказує стовпець, по якому встановлена \u200b\u200bсортування і направлення цієї сортування.

Змінити напрямок сортування можна просто клікнувши по цій стрілці і тоді список буде відсортований, наприклад, від Я до А. Якщо ж ми хочемо, щоб сортування товарів була за кодом, то для цього треба клікнути мишкою на назві відповідного стовпчика «Код» і «чарівна стрілочка »переміститься в інший стовпець.

Ну от і все. Сподіваюся, мої поради допоможуть вам в роботі з програмами 1С. Працюйте в 1С з задоволенням. Вступайте в наші групи в контакті і однокласники і ви завжди першими дізнаєтеся про наших нових статтях і зміни в програмах.

Робота користувача з довідниками і документами в 1С складається з заповнення полів на формі.

Реквізити 1С - це поля довідника і документа, які відображаються на формі, щоб користувач їх заповнив.

Розглянемо докладно тему реквізитів в 1С.

Що таке Реквізити 1С

Кожен довідник і документ 1С складається з набору полів. Такі поля називаються реквізити 1С (для програміста 1С).

У конфігураторі, в дереві конфігурації 1С, розкрийте будь-який довідник або документ і Ви побачите гілку Реквізити. Це список реквізитів (полів) довідника.

Подивіться як ті ж реквізити 1С виглядають на формі довідника 1С.

Кожен реквізит 1С має властивості, в яких зазначено який вид значення зберігається в реквізиті (рядок, число і т.п.) і як з ним буде працювати користувач.

Натисніть правою кнопкою на будь-який реквізит 1С та натисніть Властивості. У вікні праворуч відкриється список властивостей обраного реквізиту.

Основні властивості реквізитів 1С:

Стандартні реквізити 1С

Як Ви помітили, на формі довідника є реквізити 1С, які відсутні в списку в конфігураторі: група, найменування, БИК.

У формі списку довідника теж є реквізити 1С, яких немає в списку: позначка видалення.

Це - стандартні реквізити 1С. Що це таке? У кожного є набір реквізитів 1С за замовчуванням. У довідників це, наприклад - код і найменування. У документів це - дата і номер.

Стандартні реквізити 1С можна знайти наступним чином:

  • Зайдіть в редактор об'єкта 1С (довідника або документа), натиснувши на нього два рази мишкою
  • У відкритому редакторі виберіть закладку Дані
  • Тут Ви можете налаштувати стандартні реквізити Код і Найменування довідника
  • Натисніть кнопку Стандартні реквізити 1С, щоб подивитися повний список.

Загальні реквізити 1С

Починаючи з версії 1С 8.2.14 в 1С з'явився новий Об'єкт 1С - Загальні реквізити 1С. За допомогою нього можна додати реквізит (поле), який буде присутній відразу в безлічі довідників і документів.

Властивості загального реквізиту 1С:

  • Автоіспользованіе - додає загальний реквізит 1С відразу в усі довідники і документи
  • Склад - дозволяє додати загальний реквізит 1С тільки в потрібні довідники і документи (автоіспользованіе тоді в значення Не застосовувати препарат).

Як додати реквізит 1С

Натиснемо правою кнопкою на гілку Реквізити 1С потрібного довідника і виберемо Додати.

Введемо потрібно Ім'я реквізиту 1С, наприклад «АдресОфіса» і синонім «Місцезнаходження компанії». Тип залишимо за замовчуванням Рядок, але поставимо галочку Необмежена довжина.

Додамо ще один реквізит 1С точно так же, тільки виберемо тип Булево, назвемо його «РаботаетПоВиходним».

Як вивести реквізит на форму 1С (товстий клієнт 1С)

Розкриємо гілку Форми того ж довідника. Щоб відкрити форму - виберемо форму елемента і натиснемо на неї два рази мишкою.

Потягніть мишкою за край форми і розтягніть її (необов'язковий пункт).

В панелі конфігуратора натисніть кнопку «Розміщення даних». Також можна використовувати меню Форма / Розміщення даних.

Ви бачите - наші реквізити на форму не виведено. Встановіть на них галочку. А також галочки Вставити написи і Розмістити автоматично.

Як вивести реквізит на форму 1С (тонкий клієнт 1С)

Розкриємо гілку Форми того ж довідника. Виберемо форму елемента і натиснемо на неї два рази мишкою.

На закладці Реквізити розкрийте рядок Об'єкт. Ви побачите список реквізитів, які додавалися до довідник.

Тепер просто перетягніть з правого вікна в ліву потрібний реквізит і він з'явиться на формі.

Реквізити форми 1С

У товстому клієнті у форми є свої власні реквізити. Вони знаходяться на закладці Реквізити.

Ці реквізити не зберігаються в базі даних, проте їх можна використовувати на формі для полів, які потрібні для роботи з формою.

Наприклад, Ви додали на форму галочку. При її натисканні на формі щось відбувається. Значення галочки для Вас неважливо (записувати його не потрібно) - вона використовується тільки для перемикання форми при роботі з нею. У цьому випадку в якості даних Ви використовуєте НЕ реквізит довідника, а реквізит форми.

Періодичні реквізити 1С

В 1С версії 7.7 були періодичні реквізити. Їхній зміст такий: значення у реквізиту різний в різні дати. Наприклад, значення на 1 вересня - одне, а на 1 жовтня - інше. У одного і того ж реквізиту.

В 1С 8 періодичних реквізитів немає. Це реалізується в такий спосіб:

В 1с 7.7 у довідників були цікаві реквізити - періодичні, вони могли запам'ятовувати значення реквізиту з прив'язкою до часу, працювати з ними було не так щоб дуже вже зручно але, через брак альтернатив, доводилося. Після переходу на 8-ку багато програмістів з подивом виявили відсутність періодичних реквізитів в довідниках.

Типові завдання, які вирішуються за допомогою періодичних регістрів відомостей це зберігання інформації з прив'язкою до часу. Інформація може бути різнорідної це і ціни на номенклатуру, і займане працівником посади в різні періоди часу, і параметри податкового обліку підприємства. У 8 аналогом періодичних реквізитів виступають періодичні регістри зведений.

Для того щоб повторити функціонал 7,7 потрібно виконати наступне:

Створити реєстр зведений «ПереодіческіеДанниеКонтрагента», вказати, що це періодичний регістр відомостей з періодичністю день.

Тепер нам потрібно додати на закладці «Дані» - вимір «Контрагент» тип, якого збігається з довідником, в якому ми хочемо реалізувати аналогічний періодичному реквізиту функціонал. В гілку «Реквізити» додаємо ті реквізити дані, яких прив'язані до часу. Для контрагента це можуть бути юридичний і фізичний адресу, основний телефон, ім'я керівника, основний факс і т.д.

Після збереження конфігурації, отримати доступ до регістру відомостей можна буде через бокове меню (в режимі керованого застосування), см. Скріншот.

У режимі звичайного застосування через кнопку «Перейти»

Але якщо ми подивимося на заповнений регістр, то зауважимо що зрозуміти яка інформація актуальна досить складно, оскільки ми бачимо весь набір даних в цілому, а не тільки актуальну на даний момент інформацію.

Коли інформації багато можна легко помилитися, бажано показувати актуальну на сьогодні інформацію в картці контрагента. Тут вже без програмування не обійтися.

Для початку додамо на форму групу, яку назвемо «Контактні дані» в неї додамо два реквізиту «Керівник» та «Телефон»


А в модулі форми на подію «відкриття» повісимо дії з отримання актуальних даних:

& НаКліенте Процедура відкриття (Відмова) // Вставити вміст обробніка дані \u003d ОтріматіАктуальніДані (); спроба Директор \u003d дані. керівник; виняток конецпопиткі; спроба телефон \u003d дані. телефон; виняток конецпопиткі; КонецПроцедури

Функція отримання актуальних даних наступна:

функція ОтріматіАктуальніДані () // Вставити вміст обробніка // ((КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Даній фрагмент побудованій конструктором. // При повторному вікорістанні конструктора, внесені вручну Зміни будут Втрачені !!! Запит \u003d Новий запит; Запит. Текст \u003d "ВИБРАТИ | ПеріодічніДанніКонтрагентаСрезПоследніх. контрагент, | ПеріодічніДанніКонтрагентаСрезПоследніх. Керівник, | ПеріодічніДанніКонтрагентаСрезПоследніх. адреси, | ПеріодічніДанніКонтрагентаСрезПоследніх. Телефон |З | РегістрСведеній. ПеріодічніДанніКонтрагента. СрезПоследніх ЯК ПеріодічніДанніКонтрагентаСрезПоследніх | ДЕ | ПеріодічніДанніКонтрагентаСрезПоследніх. Контрагент \u003d & контрагент"; Запит. УстановітьПараметр (" Контрагент ", об'єкт. Посилання); РезультатЗапроса \u003d Запит. Виконати (); ВиборкаДетальниеЗапісі \u003d РезультатЗапроса. Вибрати (); дані \u003d новий структура; Поки ВиборкаДетальниеЗапісі. Наступний () Цикл // Вставити обробка Вибірки ВиборкаДетальниеЗапісі //ВиборкаДетальниеЗапісі.Керівнік; дані. Вставити ( "керівник", ВиборкаДетальниеЗапісі. Керівник); дані. Вставити ( "телефон", ВиборкаДетальниеЗапісі. Телефон); Повідомити (ВиборкаДетальниеЗапісі. Телефон); КонецЦікла; Повернення дані; //)) КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА Конецфункціі

Я скористався запитом, хоча можна використовувати для цих цілей і менш громіздкою конструкцією:

Відбір \u003d новий структура; отбор.Вставіть ( "Контрагент", об'єкт); дані \u003d регістрисведеній.КонтактнаІнформація.ПолучітьПоследнее (, відбір); повідомити (данние.Керівнік); повідомити (данние.Колічество ());

Зверніть увагу, то в функцію ПолучітьПоследнеепередаються два параметри момент часу і відбір, але якщо нам потрібно на поточний момент то перший параметр можна опустити, в відборі назву ключа повинно збігатися із значенням виміру регістра.

Головне не забути в регістрі виставити відповідні галочки на закладці «Інші»

Якщо розібратися, то періодичний регістр відомостей це набагато більш гнучкий інструмент в порівнянні з періодичними реквізитами в 7.7. У типових конфігураціях він широко використовується.

призначення довідників

Довідник зберігає список можливих значень того чи іншого об'єкта або реквізиту. Довідники використовуються в тих випадках, коли необхідно виключити неоднозначний стод інформації. Наприклад, для того, щоб покупець, продавець, комірник і директор розуміли, про який саме товар йде мова, кожен повинен називати його однаково. І в цьому випадку нам необхідний довідник. Зазвичай на торговому підприємстві він має вигляд прайс-листа.

Система 1С: Підприємство 8 дозволяє вести практично необмежену кількість необхідних довідників. Кожен довідник являє собою список однорідних об'єктів: посад, співробітників, клієнтів, товарів і т. Д. Кожен такий об'єкт називається елементом довідника.

З точки зору користувача, слід мати на увазі, що в Конфігураторі створюється не сам довідник, як список значень, а розробляється заготівля довідника, його шаблон. У процесі конфігурації описується структура інформації, яка буде зберігатися в довіднику, розробляється екранне і, якщо необхідно, друковане подання довідника, задаються різні особливості його поведінки.

Реквізити довідника (поля)

В якості обов'язкових реквізитів кожен довідник має код і Найменування. Код елемента довідника може бути як числовим, так і текстовим. Система 1С: Підприємство 8 надає широкі можливості по роботі з кодами елементів довідника: автоматичне присвоєння кодів, автоматичний контроль унікальності коду і інші.

Крім Коду та Назви, в довідниках системи 1С: Підприємство може зберігатися будь-яка додаткова інформація про елемент довідника. Для зберігання такої інформації в довіднику можуть бути створені додаткові реквізити (поля). Використовуючи механізм реквізитів довідника, легко організувати, наприклад, картотеку співробітників. Наприклад, довідник Співробітники майже напевно буде мати реквізити Посада, Оклад, ДатаПріема і інші. Фірма 1С передбачила програмістів і ввела в усі довідники два обов'язкових (зумовлених) реквізиту: Код і Найменування. Дійсно, практично будь-який об'єкт з реального життя містить ці атрибути. Наприклад, для співробітників кодом виступає табельний номер, а найменуванням - Прізвище, Ім'я та По батькові (ПІБ). Крім того, використання кодів (при використанні автоматичної нумерації) дозволяє з легкістю зрозуміти, який елемент був введений раніше, а який пізніше в базу даних.

типи даних

Для кожного реквізиту довідника необхідно задати тип даних, наприклад, "число", "рядок", "дата", булево (Істина або Брехня). Це базові типи, але можна вказати і складні типи даних. Наприклад, реквізит Посада має тип даних Посади. В цьому випадку, значення цього реквізиту будуть вибиратися з довідника Посади. Так реалізується найпростіша зв'язок між довідниками, коли значення реквізитів одного довідника вибираються з елементів іншого довідника.

ієрархічні довідники

Список елементів довідника в системі 1С: Підприємство 8 може бути багаторівневим. В цьому випадку всі рядки довідника будуть розділятися на 2 види: «просто» елементи довідника і групи довідника. Групи дозволяють переходити на нижні рівні багаторівневого довідника. Використання багаторівневих довідників дозволяє організувати введення інформації в довідник з потрібним ступенем деталізації. Елементи і групи елементів в багаторівневому довіднику можна переносити з однієї групи в іншу.

підлеглі довідники

Між довідниками може бути встановлено відношення підпорядкованості. У термінах реляційних баз даних, між таблицями встановлюється зв'язок "один-ко-многим". У цьому випадку кожен елемент підпорядкованого довідника буде пов'язаний з одним з елементів довідника-власника. Іноді можна сказати, що елементи одного довідника належать елементам іншого. Наприклад, в системі може бути довідник Договору. Тоді його можна зробити підлеглим довідником Клієнти. Це означає, що клієнт володіє договорами і у одного клієнта може бути кілька договорів.

табличні частини

Починаючи з версії 1С 8.0, в платформі реалізована можливість для елемента довідника задавати одну або кілька табличних частин. Цю можливість рекомендується використовувати для відображення інформації, пов'язаної з даним елементом, але не має власної об'єктної сутності (для яких рекомендується заводити підлеглі довідники). Наприклад, для довідника Співробітники можуть бути заведені табличні частини Освіта та СоставСемьі. Робота з табличними частинами схожа на роботу з підлеглими довідниками за винятком того, що табличні частини не можуть використовуватися в якості значень реквізитів інших об'єктів.

Де використовується програмний код для роботи з довідниками?

Так як для виконання програмного коду нам необхідно звертатися до бази даних, дані шматки програмного коду повинні розміщуватися в процедурах і функціях (або модулях) виконуваних на стороні сервера. Додаткову інформацію дивись в розділі.

1. Посилання на довідник

Для роботи з довідником з будь-якого модуля потрібно спочатку створити посилання на цей довідник.

СпрСотруднікі \u003d Довідники. співробітники; // або 2 варіант
СпрДолжності \u003d Довідники [ "Посади"];

2. Створення і запис нового елемента довідника

НОВЕЛ \u003d Довідники. Співробітники. СоздатьЕлемент ();
НОВЕЛ. Найменування \u003d "Петров Петро Петрович";
НОВЕЛ. Оклад \u003d 25000;
НОВЕЛ. Записати (); // саме в цей момент відбувається запис в базу даних

3. Створення і запис нової групи довідника (для ієрархічного довідника)

нов \u003d Справочнікі.Сотруднікі. Створити групу ();

Нов. Записати ();
// або 2 варіант
Нов \u003d Довідники [ "Співробітники"]. Створити групу ();
Нов. Найменування \u003d "Працюючі";
Нов. Записати ();

4. Пошук елемента довідника

// якщо елемент знайдений, то він повертається, інакше повертається значення Не визначено

НайденнийСотр \u003d СпрСотр. НайтіПоКоду (123); // шукаємо по коду
НайденнийСотр \u003d СпрСотр. НайтіПоНаіменованію( "Іванов Іван Іванович"); // по найменуванню
НайденнийСотр \u003d СпрСотр. НайтіПоРеквізіту( "Оклад", 5000); // з реквізиту

якщо НайденнийСотр \u003d Не визначено Тоді
// елемент не знайдений
КонецЕсли;

5. Видалення елемента довідника

СпрСотр \u003d Довідники. співробітники;

СпрСотр. Вилучити (); // безпосереднє видалення поточного елемента довідника

СпрСотр. УстановітьПометкуУдаленія(Істина); // позначка на видалення
СпрСотр. УстановітьПометкуУдаленія(Брехня); // зняти позначку на видалення

// можна перевірити, позначений елемент на видалення
// властивість ПометкаУдаленія має тип Булево (Істина або Брехня)

Позначка \u003d СпрСотр. ПометкаУдаленія; // зверніть увагу: це властивість
Якщо Позначка \u003d Істина Тоді
// елемент позначений на видалення
КонецЕсли;

6. Перебір елементів довідника

Вибірка \u003d Довідники. Сотруднікі.Вибрать();
// початок перебору елементів довідника в циклі
// дії з черговим елементом ...

КонецЦікла;

7. Батько. Перебір елементів всередині групи.

Група в термінах 1С - це "батько".

СпрСотр \u003d Довідники. співробітники;
ГруппаРаботающіе\u003d СпрСотр. НайтіПоНаіменованію( "Працюючі");
Вибірка \u003d СпрСотр. вибрати ( ГруппаРаботающіе);
Поки Вибірка. Наступний () \u003d 1 Цикл

Повідомити ( "Співробітник" + Вибірка. Найменування);
КонецЦікла;

8. Власник. Перебір елементів довідника, що належать елементу іншого довідника.

Один довідник підпорядкований іншому довіднику, наприклад довідник НалоговиеЛьготи підпорядкований довіднику Співробітники.

Вибірка \u003d Довідники. Податкові пільги. Вибрати (Працівник); // тут співробітник - посилання на елемент довідника співробітники
Поки Вибірка. Наступний () \u003d 1 Цикл
// дії з черговим елементом
Повідомити ( "пільга" + Вибірка. Найменування);
КонецЦікла;


9. Транзакція

При створенні безлічі елементів довідника для прискорення роботи можна зробити висновок цикл в транзакцію. При цьому реальне створення всіх елементів відбудеться тільки по команді ЗафіксіроватьТранзакцію (). При використанні транзакцій дію буде або виконано повністю (створені всі елементи довідника), або не виконано зовсім (в разі будь-якого збою не буде створена жодного нового елемента, все залишиться так само, як до запуску транзакції). Транзакції широко застосовуються в банківській сфері. Адже ніхто не хоче, щоб при відправці грошей, вони благополучно списали з вашого рахунку, але через будь-якого збою не дійшли до адресата.

СпрСотр \u003d Довідники. співробітники;
НачатьТранзакцію();

Для Ном \u003d 1 За 100 Цикл
Нов \u003d СпрСотр. СоздатьЕлемент ();
Нов. Найменування \u003d "Новий" + Рядок (Ном);
Нов. Записати ();
КонецЦікла;

ЗафіксіроватьТранзакцію();