Идентификатор для формул 1с дополнительный реквизит

Дополнительные реквизиты в 1С Управление Нашей Фирмой

grafic1.jpg

Видеоинструкция к этой статье https://youtu.be/f9Q8398SjE4

В 1С Управление Нашей Фирмой есть возможность создавать дополнительные реквизиты — поля и справочники для ввода данных без программиста. Ссылки на добавление реквизитов есть во многих карточках и документах — карточка контрагента, карточка номенклатуры, заказ покупателя и т. п.

Дополнительные реквизиты могут использоваться в вспомогательных целях, таких как переменные в формулах динамических спецификаций.

Возможность использовать доп. реквизиты в 1С Управление Нашей Фирмой включается при установке программы, но если у вас эта функция отсутствует, то включить ее можно в разделе «Настройки» по ссылке «Общие настройки»

Рис 1. Включение модуля Дополнительных реквизитов в 1С Управление Нашей Фирмой


Рис 1. Включение модуля Дополнительных реквизитов в 1С Управление Нашей Фирмой

Для просмотра дополнительных реквизитов, а также для их создания и редактирования, необходимо в «Общих настройках» пройти по ссылке «Дополнительные реквизиты».

Рис 2. Журнал Дополнительные реквизиты в 1С Управление Нашей Фирмой


Рис 2. Журнал Дополнительные реквизиты в 1С Управление Нашей Фирмой

Журнал состоит из шапки с управляющими кнопками — «Добавить», «Копировать» и «Вставить», а также двух окон — в левом окне находится иерархический список групп (папок) реквизитов и в правом окне показываются дополнительные реквизиты, которые относятся в выделенной папке.

Для добавления реквизита необходимо нажать на кнопку «Добавить» и выбрать один из двух вариантов — «Новый» и «Из другого набора»

Рис 3. Кнопка добавить в журнале Дополнительные реквизиты в 1С Управление Нашей Фирмой

Рис 3. Кнопка «Добавить» в журнале Дополнительные реквизиты в 1С Управление Нашей Фирмой

Начнем обзор с создания нового реквизита.

1. Создание нового реквизита

Для создания нового реквизита в журнале «Дополнительные реквизиты» нажимаем кнопку «Добавить» и выбираем вариант «Новый».

Откроется карточка создания Дополнительного реквизита.

Рис 4. Карточка создания Дополнительного реквизита в 1С Управление Нашей Фирмой


Рис 4. Карточка создания Дополнительного реквизита в 1С Управление Нашей Фирмой

Поле «Наименование»

В первую очередь необходимо заполнить поле «Наименование» — наименование реквизита должно четко его идентифицировать, так как на его основании будет заполнено поле «Идентификатор для формул» и поле «Имя» в блоке «Для разработчиков», которое используется для программного обращения к данному реквизиту.

Поле «Тип значения»

В строке «Тип значения» необходимо выбрать значение из раскрывающегося списка, который открывается нажатием на кнопку с тремя точками в правой части строки.

Рис 5. Карточка выбора Типов значений карточки Дополнительного реквизита в 1С Управление Нашей Фирмой


Рис 5. Карточка выбора Типов значений карточки Дополнительного реквизита в 1С Управление Нашей Фирмой

Часть элементов справочника «Типы значений» понятна большинству пользователей — Дата, Валюта и т. п., а часть значений будет понятна специалистам или опытным пользователям — рассмотрим эти значения подробно с примерами использования доп. реквизитов в карточке номенклатуры.

Типы значений дополнительных реквизитов в 1С: Управление Нашей Фирмой
1)Булево

Булево — имеет только 2 значения: да/нет, истина/ложь и т. п.

Рис 6. Вариант карточки Дополнительного реквизита при выборе типа значений Булево в 1С Управление Нашей Фирмой

Рис 6. Вариант карточки Дополнительного реквизита при выборе типа значений Булево в 1С Управление Нашей Фирмой

В карточке Номенклатуры этот тип данных может выглядеть как Чек-бокс с галочкой.

Рис 7. Вариант карточки Номенклатуры при выборе типа значений Булево в 1С Управление Нашей Фирмой

Рис 7. Вариант карточки Номенклатуры при выборе типа значений Булево в 1С Управление Нашей Фирмой.

Мы можем изменить формат отображения нажав на ссылку «Формат по умолчанию» в карточке доп. реквизита справа от поля «Тип значения»

Рис 8. Конструктор форматной строки при выборе типа значений Булево в 1С Управление Нашей Фирмой

Рис 8. Конструктор форматной строки при выборе типа значений Булево в 1С Управление Нашей Фирмой.

Клик по ссылке откроет форму «Конструктор форматной строки». В ней нам нужен список из двух значений «Представление значения булево Ложь» и «Представление значения булево Истина» — если галочки перед строками снять, то останется первый вариант с чек-боксом.

В поле со значениями мы можем выбрать из трех вариантов Ложь/Истина, Да/Нет, Выключено/Включено или ввести собственное значение как в примере (см. Рис. 11).

В результате изменения формата в карточке номенклатуры этот реквизит будет выглядеть как текстовое поле с выбором значения, но на выбор будет выводиться только два значения.

Рис 9. Дополнительный реквизит с типом Булево с собственными значениями в карточке номенклатуры в 1С Управление Нашей Фирмой


Рис 9. Дополнительный реквизит с типом Булево с собственными значениями в карточке номенклатуры в 1С Управление Нашей Фирмой.

2)Строка

Строка — самый простой тип значений, который позволяет вводить любой набор символов. К строке не привязан справочник значений, поэтому в ней нет повторного выбора ранее введенной информации.

При выборе Типа значения в форме «Редактирование типа данных» в нижней части формы в зависимости от типа данных появляются дополнительные настройки.

Рис 10. Настройки отображения данных дополнительных реквизитов в 1С Управление Нашей Фирмой


Рис 10. Настройки отображения данных дополнительных реквизитов в 1С Управление Нашей Фирмой.

В типе значений «Строка» в нижней части расположены настройки длины строки: Длина — количество символов, Вариант изменения длины строки — «Переменная» (в зависимости от количества введенных символов) и «Фиксированная», а также чек-бокс для галочки «Неограниченная» — снимает все ограничения по количеству вводимых символов.

 После выбора этого Типа значения в карточке Дополнительного реквизита появятся три дополнительных варианта выбора отображения реквизита — «Однострочное поле ввода», «Многострочное поле ввода» — при выборе данного варианта активируется параметр «Количество строк», который позволяет ограничить количество строк ввода.

Рис 11. Дополнительные параметры Дополнительных реквизитов с типом Строка в 1С Управление Нашей Фирмой


Рис 11. Дополнительные параметры Дополнительных реквизитов с типом Строка в 1С Управление Нашей Фирмой.

3)Дополнительное значение

Дополнительное значение — раскрывающийся список, в котором значения могут быть внесены заранее или добавляться в процессе работы.

Рис 12. Создание Дополнительного реквизита с типом значения Дополнительное в 1С Управление Нашей Фирмой

Рис 12. Создание Дополнительного реквизита с типом значения Дополнительное в 1С Управление Нашей Фирмой.

Галочка «Выводить в виде гиперссылки» позволяет отображать этот тип значений в документе в двух вариантах: без галочки — как раскрывающийся список, а с галочкой — как гиперссылка

Вариант без галочки:

Рис 13. Дополнительный реквизит с типом значения Дополнительное в 1С Управление Нашей Фирмой


Рис 13. Дополнительный реквизит с типом значения Дополнительное в карточке номенклатуры в 1С Управление Нашей Фирмой.

Для выбора значения нажимаем на стрелочку в правой части поля и появляется форма значения, в которой переходим по ссылке «Показать все» или «+(создать)».

При установленной галочке значение выводится, как ссылка, а для его изменения необходимо нажать на карандаш (справа от строки).

Рис 14. Гиперссылка дополнительного реквизита в карточке номенклатуры в 1С Управление Нашей Фирмой


Рис 14. Гиперссылка дополнительного реквизита в карточке номенклатуры в 1С Управление Нашей Фирмой.

Ниже выбора варианта отображения, располагается табличная форма с двумя вкладками — «Главное» и «Значения».

Во вкладке «Главное» заполняем поля по необходимости — более подробно рассмотрим поля ниже.

Во вкладке «Значения» содержится список значений, присвоенных данному реквизиту.

Рис 15. Вкладка Значения в карточке дополнительного реквизита в 1С Управление Нашей Фирмой

Рис 15. Вкладка «Значения» в карточке дополнительного реквизита в 1С Управление Нашей Фирмой.

Значения можно ввести в этой вкладке с помощью кнопки «Создать» или после в процессе работы, как показано на Рис. 13.

Кнопка «Еще» раскрывает список дополнительных действий по управлению списком.

Рис 16. Список действий кнопки Еще вкладки Значения карточки дополнительного реквизита в 1С Управление Нашей Фирмой.


Рис 16. Список действий кнопки «Еще» во вкладки «Значения» карточки дополнительного реквизита в 1С Управление Нашей Фирмой.

Под полем списка значений располагается чек-бокс «Значения дополнительно характеризуются весовым коэффициентом» — после установки этой галочки каждому значению можно добавить числовое значение, которое позволяет дополнительно сортировать значения в отчетах или при выборе, также можно его использовать в других целях. В списке значений добавится колонка «Весовой коэффициент».

Рис 17. Весовые коэффициенты значений в карточке дополнительного реквизита в 1С Управление Нашей Фирмой.

Рис 17. Весовые коэффициенты значений в карточке дополнительного реквизита в 1С Управление Нашей Фирмой.

Значения можно сгруппировать — кнопка «Создать группу» позволяет создавать группы (папки) значений.

4)Число

Этот тип значений ограничен только числовыми значениями.

В настройке отображения этого реквизита при его выборе программа выдает два поля: «Длина» — количество вводимых символов, «Точность» — количество символов после запятой, а также чек-бокс для галочки «Неотрицательное» — установленная галочка не дает ввести отрицательное число.

Рис 18. Настройки дополнительного реквизита при выборе типа значений в 1С Управление Нашей Фирмой.

Рис 18. Настройки дополнительного реквизита при выборе типа значений в 1С Управление Нашей Фирмой.

Остальные Типы значений и их настройка более понятны пользователям и не имеют дополнительных настроек поэтому не будем их рассматривать.

Рассмотрим остальные элементы карточки «Дополнительный реквизит» общие для всех типов.

5)Составной тип данных

Составной тип данных находится в верней части формы выбора. Установка галочки позволяет создать поле, при нажатии на которое программа попросит у пользователя самостоятельно выбрать тип вводимых данных.

После установки галочки в чек-боксе «Составной тип данных» в списке появляется возможность выбора нескольких значений — например:

В заказе покупателя вы хотите отобразить Агента, человека, который нашел данный заказ -сторонний человек или сотрудник предприятия.

Создаем дополнительный реквизит с названием «Агент». А при выборе типа значений устанавливаем галочки: «Составной тип данных», «Контрагент», «Сотрудник».

Рис 19. Составной тип данных дополнительного реквизита в 1С Управление Нашей Фирмой

Рис 19. Составной тип данных дополнительного реквизита в 1С Управление Нашей Фирмой.

В Заказе покупателя находим созданный реквизит «Агент» и нажимаем на три точки в правой части поля и, в открывшейся форме, нажимаем на нужный тип данных — Сотрудник или Контрагент

Рис 20. Поле с составным дополнительным реквизитом в 1С Управление Нашей Фирмой


Рис 20. Поле с составным дополнительным реквизитом в 1С Управление Нашей Фирмой.

Выбор поля дает доступ к нужному справочнику «Контрагенты» или «Сотрудники».

В конце месяца можно отсортировать заказы по контрагентам и сотрудникам, начислить комиссионное вознаграждение контрагентам или премию сотрудникам.

Ссылка «Виден»

Позволяет настроить видимость реквизита в зависимости от настроенных условий.

Например:

У товара, в редких случаях, кроме основного цвета могут быть элементы с другим цветом.

Создаем два дополнительных реквизита — один реквизит с типом «Булево», а второй с типом «Строка».

В настройках реквизита с типом «Строка» нажимаем на ссылку «Виден» — откроется форма «Видимость дополнительного реквизита», в которой мы настраиваем условия видимости — нажимаем на кнопку «Добавить условия» и в табличной части заполняем строку из трех ячеек:

  • «Реквизит» — двойной клик на ячейку активирует ее, а клик на кнопку с тремя точками в правой части ячейки откроет дополнительную форму «Выбор реквизита» со списком доступных реквизитов, в котором кроме реквизитов программы есть дополнительные реквизиты, введенные нами. Выбираем доп. реквизит «Дополнительный цвет».

Рис 21. Настройка условий видимости дополнительного реквизита в 1С Управление Нашей Фирмой


Рис 21. Настройка условий видимости дополнительного реквизита в 1С Управление Нашей Фирмой.

  • «Вид сравнения» — двойной клик откроет список выбора вида сравнения — равно, не равно, заполнено, не заполнено и т. п.

  • «Значение» — двойной клик откроет список значений выбранного реквизита, выбираем кликом нужное значение

В примере у нас получилось условие: Если в реквизите «Дополнительный цвет» установлена галочка, то реквизит «дополнительная гамма цветов» становится виден.

Рис 22. Видимость дополнительного реквизита в 1С Управление Нашей Фирмой

Рис 22. Видимость дополнительного реквизита в 1С Управление Нашей Фирмой.

Ссылка «Доступен»

Эта ссылка позволяет настроить доступность реквизита, также, как ссылка «Виден», но в отличии от нее реквизит виден всегда, но активен при определенном условии.

Чек-бокс (Галочка) «Заполнять обязательно»

При установленной галочке данный реквизит становится обязательным к заполнению, а ссылка справа позволяет настроить условие, при котором этот параметр будет действовать — настраивает аналогично предыдущим ссылкам «Виден» и «Доступен».

Поле «Идентификатор для формул»

Заполняется автоматически, но возможна ручная корректировка.

Рис 23. Карточка дополнительного реквизита 1С Управление Нашей Фирмой


Рис 23. Карточка дополнительного реквизита 1С Управление Нашей Фирмой.

С права от поля расположена кнопка со стрелкой для перезаполнения поля на основании строки «Наименование».

Поле «Всплывающая подсказка»

Это поле позволяет выводить нужную информацию — наименование или инструкцию по заполнению реквизита, которая будет появляться при наведении на реквизит.

Поле «Комментарий»

В это поле можно занести любую информацию для внутреннего пользования по этому реквизиту.

На этом обзор работы с новой карточкой «Дополнительный реквизит» заканчиваем и переходим к рассмотрению копирования дополнительных реквизитов.

2. Копирование реквизита «Из другого набора»


В журнале «Дополнительные реквизиты» нажимаем кнопку «Добавить» и выбираем второй вариант — «Из другого набора».

 Откроется форма «Добавление дополнительного реквизита»

Рис 24. Добавление Дополнительного реквизита из другого набора в 1С Управление Нашей Фирмой


Рис 24. Добавление Дополнительного реквизита из другого набора в 1С Управление Нашей Фирмой

Форма «Добавления Дополнительного реквизита» очень похожа на журнал «Дополнительные реквизиты» с некоторыми отличиями — отсутствуют верхние кнопки управления и в правой части добавлены поля

— «Тип значения» — показывает, какого типа значения присутствуют в выбранном варианте,

— «Всплывающая подсказка» — необходимо ввести текст, который будет появляться при наведении на реквизит мышкой,

а также два поля «Заголовок формы значения» и «Заголовок формы выбора значения» — текст, который будет выводиться на заголовках указанных форм.

Заполнили поля и нажимаем в нижнем правом углу желтую кнопку «Далее».

Откроется новая страница с выбором варианта добавления реквизита

Рис 25. Выбор варианта добавления Дополнительного реквизита из другого набора в 1С Управление Нашей Фирмой


Р
ис 25. Выбор варианта добавления Дополнительного реквизита из другого набора в 1С Управление Нашей Фирмой

  • Добавить реквизит как есть — реквизит будет показываться в папке копирования, но это будет тот же реквизит. Реквизит в программе один, но входит в две группы, о чем нас извещает ссылка в нижней части вкладки «Главное».

Рис 26. Разделение общего Дополнительного реквизита в 1С Управление Нашей Фирмой

Рис 26. Разделение общего Дополнительного реквизита в 1С Управление Нашей Фирмой

При нажатии на ссылку откроется список групп реквизитов, в которых присутствует этот реквизит.

Для разделения реквизитов в самостоятельные параметры необходимо нажать кнопку «Изменить» справа от ссылки. В открывшейся форме необходимо выбрать один из двух вариантов: «Реквизит со своим списком значений» или «Общий реквизит» — в первом варианте будет полное разделение реквизитов на самостоятельные единицы, а во втором случае все останется так как есть.

Во вкладке «Значения» присутствует похожая ссылка и кнопка «Изменить», но уже для разделения списка значений.

  • Сделать копию реквизита по образцу (с общим списком значений) —будет создан новый реквизит, отдельный от копируемого, но с общим списком значений.

Вариант разделения аналогично с предыдущим вариантом, но ссылка и кнопка изменить есть только во вкладке «Значения».

  • Сделать копию реквизита — копируются тип реквизита и значения, а наименование вводим самостоятельно. В этом случае создается реквизит полностью независимый от копируемого.

Выбираем вариант копирования и нажимаем на кнопку «Далее» в нижнем правом углу.

При выборе варианта копирования «Добавить реквизит как есть» реквизит создается сразу. В вариантах «Сделать копию реквизита по образцу» и «Сделать копию реквизита» программа откроет карточку создания Дополнительного реквизита для заполнения полей «Наименование» и «Идентификатор для формул», так как в отличии от первого варианта копирования будут созданы новые реквизиты.

На этом обзор Дополнительных реквизитов заканчиваем.

Если остались вопросы пишите нам на почту mail@rps-1c.ru или звоните на телефон(он же WhatsApp) +7-923-158-67-74

Аренда 1С: УНФ в облачном сервисе 1С: Фреш — https://rps-1c.ru/content/published/1cfresh/1с-fresh/

Протестируйте 1С Управление Нашей Фирмой бесплатно 30 дней — https://rps-1c.ru/1capp/arenda_fresh.html

Здравствуйте!

В заказ клиента добавил дополнительный реквизит: «ДокументыПолучены» — булево

Делаю запрос:

   ВЫБРАТЬ

    ДополнительныеСведения.Объект КАК Объект,

    ДополнительныеСведения.Свойство КАК Свойство,

    ДополнительныеСведения.Значение КАК Значение

ИЗ

    РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения

ГДЕ

    ДополнительныеСведения.Объект = &Объект //Ссылка на документ

    И ДополнительныеСведения.Свойство = &Свойство  // Строка «ДокументыПолучены» (в консоли запросов выбираю нужный мне реквизит)

Результат запроса пуст, гуглю, рекомендуют использовать — «ЗначениеСвойства», пробую:

Результат = УправлениеСвойствами.ЗначениеСвойства(Объект.мСсылка, «ДокументыПолучены»); //Результат = «Неопределенно»

Что не так я делаю ?

Настройка видов цен в программе 1С Управление торговлей (УТ 11) 11.2

Программа 1С Управление торговлей версия 11.2 имеет очень мощные, очень гибкие средства для ценообразования и формирования ценовой политики. Использование множества видов цен включается в разделе «Нормативно-справочная информация и администрирование». В «Настройке разделов», в «CRM и маркетинг» можно установить флаг «Несколько видов цен». После этого в разделе «CRM и маркетинг», в «Настройки и справочники» появляется доступ к команде «Виды цен». В этом справочнике собраны все те виды цен, которые мы используем в системе при оформлении различных наших операций.

Посмотрим, что же предлагает нам система 1С Управление торговлей (УТ 11) 11.2 в части настройки ценообразования.

По команде «Создать» мы попадаем в окно создания нового вида цен, в котором мы можем определить все механизмы формирования наших цен.

Пусть первая цена у нас будет Закупочная. Укажем наименование такой цены. После этого система предлагает тут же по умолчанию заполнить идентификатор для формул. Можно его отредактировать вручную, но я оставлю то, что предложила программа 1С Управление торговлей (УТ 11) 11.2. В дальнейшем можно при написании различных формул ссылаться на данный вид цены. Необходимо выбрать валюту и установить флаг, включает цена НДС или нет.

В карточке «Вид цены» есть несколько флагов. Первый из них – это «При продаже клиентам». Установив такой флаг, наша цена, наш вид цены будет доступен в документах продажи и также будет формироваться в прайс-листе.

Второй флаг – это «При вводе на основании документов поставки». Если данный флаг установлен, то на основании документа поступления товарно-материальных ценностей можно будет создать документ «Установка цен номенклатуры» и он будет автоматически заполнен теми видами цен, у которых установлен данный флаг.

Следующий флаг – «При передаче между организациями». В программе 1С Управление торговлей есть такой механизм как интеркампани – внутрифирменные (межфирменные) продажи. Как раз для оформления таких операций будут использоваться виды цен, для которых установлен соответствующий флаг.

И четвертый флаг – это использовать цены «При выпуске продукции, работ и услуг по фиксированной стоимости» — так называемая плановая себестоимость выпуска продукции.

Способ задания цены

Следующее, что необходимо будет определить, это – указать способ задания цены. У меня сейчас включен простой способ редактирования видов цены. Можно переключиться по соответствующей гиперссылке на полные возможности – тогда конфигурация 1С Управление торговлей (УТ 11) 11.2 предложит значительно больше возможностей по настройке нашего вида цены. В качестве способа задания цены уже нам будет доступно больше элементов. Давайте рассмотрим их.

«Ручное назначение» — при формировании такой цены цену в документе «Установка цен номенклатуры» нужно будет задавать вручную.

«Наценка на другой вид цен» — тоже понятно по наименованию. Указывается размер наценки и базовый вид цены, от которого будет рассчитываться соответствующая цена.

«Наценка на цену поступления» — также указывается процент наценки. И при поступлении, на основании данных о приобретении товара будет рассчитываться такая цена.

«Произвольная формула от других видов цен» — более широкие возможности по настройке. Здесь уже необходимо будет формировать формулу определения цены. Можно проверить данную формулу.

И последнее – «Произвольный запрос к базе данных». Выбрав данную опцию, нам становится доступным схема компоновки данных. Здесь разработчики тоже предлагают нам достаточно большой спектр возможностей, т.е. это и «цены и поступления», и «себестоимость без дополнительных расходов», и «себестоимость с дополнительными расходами», «минимальные цены поставщиков», «средние цены поставщиков», «максимальные цены поставщиков», также два вида себестоимости и совсем произвольный запрос к базе данных. Выбрав соответствующую опцию, по команде «Редактировать» можно перейти к редактору схемы компоновки данных, где уже доопределить правила и условия формирования цены.

Правила округления цен

На вкладке «Правила округления цен» задаются те правила, по которым будут округляться наши цены.

Можно округлять цены по арифметическим правилам, всегда в пользу клиента, всегда в пользу предприятия. Устанавливаем ценовые границы, точность вычисления и как вычислять результат.

На вкладке «Пороги срабатывания» можно определить пороги, после достижения которых при изменении цен на какие значения будут рассчитываться цены. Например, если мы для цены установили порог срабатывания 5%, а условия формирования цены изменились на 2%, то такая цена не будет пересчитываться до тех пор, пока порог срабатывания не достигнет заданного нами условия.

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

Создадим еще одну цену – пусть это у нас будет Оптовая цена. Идентификатор для формул также будет «оптовая». Цена будет в рублях и она включает в себя НДС. Будет использоваться «при продаже клиентов». Способ задания цены будет – «наценка на другой вид цен». Укажем, что базовый вид цен, нашей оптовой цены будет «закупочная», и установим наценку 40%. Точность округления я указывать не буду, но включу полные возможности и уточню нашу цену по ценовым группам. Допустим, для бытовой техники базовый вид цен будет также «закупочная», но наценка будет составлять 30%. Для ценовой группы «Мебель» базовый вид цен также будет «закупочная», но наценка будет 20%. Такой вид цены можно записать и закрыть.

Создам еще один вид цен – пусть это будет Розничная. Цена будет также определяться в рублях и включать в себя НДС. Будет использоваться «при продаже клиентам». Способ задания цены установим, включим полные возможности и установим произвольную формулу от других видов цен. Откроем «Редактор формул». И укажем, что наша розничная цена будет рассчитываться от закупочной по следующей формуле: закупочная цена * 1,5. Другими словами, наша розничная цена будет рассчитываться от закупочной и определяться наценкой в 50% от данной цены. Сохраним такую цену. Можно проверить формулу. Программа 1С Управление торговлей сообщаем нам, что в формулах ошибок не обнаружено – запишем, закроем такой вид цен.

Таким образом, в программе 1С Управление торговлей (УТ 11) 11.2 задаются правила ценообразования.

Настройка диапазона допустимых цен

Также в данном справочнике «Виды цен» есть кнопка «Настройка диапазона допустимых цен». Перейдя по соответствующей команде, мы можем установить минимально-допустимые цены продажи, максимально-допустимые цены продажи и максимально-допустимые цены закупки. Задав такие ограничения, мы соответственно уже не сможем закупать товарно-материальные ценности, наш товар по ценам, ниже указанным, и продать товар мы сможем также в заданном диапазоне цен. То есть если менеджер, например, попробует дать какие-то свои скидки, то опуститься ниже заданной цены он не сможет.

Таким образом, в системе 1С Управление торговлей версия 1.2 определяются правила ценообразования и осуществляется работа с видами цен.

Создание видов цен в конфигурации 1С 8.3 Управление торговлей 11.4 (Часть 1)

Виды цен могут например называться следующим образом: Закупочная, Розничная, Оптовая, Мелко-оптовая, розничная магазин Калужская, . Исходя из названий понятно примерно каким образом будет образовываться каждый вид цен. Пусть Закупочная будет назначаться из документов Заказ у поставщика или Поступление товаров и услуг. Некоторые виды цен могут быть выгружены в прайс-лист, обработаны и загружены обратно в обработку фиксации цен. Такие цены как: Розничная — Оптовая могут формироваться на основе цены закупочной.

Создание/настройка закупочного вида цен

Рассмотрим как можно сформировать Закупочную цену на основании документа поступления товаров и услуг. Создадим вид цены под названием Закупочная. Цены создаются в справочнике, для этого перейдем в CRM и маркетинг — Настройки и справочники — Цены и скидки — Виды цен. И создадим новый Вид цен — Закупочная. Если у Вас уже есть вид цен, который Вы хотели бы исправить, открыв данное значение в правом верхнем углу окна выберите группу кнопок Еще — Разрешить редактирование реквизитов и в открывшемся диалоге подтвердите разрешение. Соответственно так можно поступать с ценами которые не участвую в действующих документах. Или Вы хорошо понимаете чем это грозит. Возможно проще создать новый вид цен.

Вид цены Закупочная

Вид цены Закупочная

Далее с помощью ссылки включите Использовать полные возможности. При этом список доступных полей для настройки увеличится. После наименования Идентификатор для формул будет автоматически сформирован на основании Наименования, но Вы можете его исправить, например на более понятное Вам наименование, которое может участвовать при расчете других видов цен.
Установим флаг При вводе на основании документов поставки. Для установки цен на основании документа поступления включим Способ задания цены — Произвольный запрос к данным ИБ, схема компоновки данных — Цены поступления. Настройка вида цен закончена, записываем и закрываем вид цен.

Теперь на основании поступления товаров или заказ клиенту мы можем создать документ установки цен в котором будет автоматически подставлен вид цен — Закупочная и указаны цены, зарегистрированные в исходном документе.

Виды цен в 1С: Рознице 2.2

Виды цен помогают продавать один и тот же товар с разными наценками в разных каналах сбыта без ручных исправлений цен.

Например, вы продаете тетради оптом, в Интернет-магазине и в небольшом розничном магазине и. Наценки для каждого канала будут разными. Чтобы автоматизировать ценообразование мы можем создать 3 вида цен, например, Оптовая, Розничная и Для интернет-магазина.

Также Виды цен помогают разграничить доступ пользователей к управлению ценами по товарным категориям

Например, цены на бытовую химию назначает старший продавец магазина, а цены на продукты – ответственный в центральном офисе. Для решения этой задачи мы можем создать 2 вида цен: Для Центрального офиса, Для магазина.

Для примера создадим 2 вида цен: Закупочную и Розничную. Для создания видов цен переходим в раздел Маркетинг — Ценообразование — Виды цен

1c розница

Далее нажимаем кнопку Создать

1c розница

  • Наименование — Закупочная,
  • Идентификатор для формул – заполнится автоматически из Наименования,
  • Флажок Цена включает НДС управляет включением суммы НДС в цену номенклатуры.
  • Флажок Использовать при продаже позволяет применять цену при продаже товаров
  • Способ задания цены – выбираем из списка Заполнять по данным ИБ при поступлении. Это значит, что цену товара мы получим из документов закупок (в нашем случае Поступление товаров и услуг)
  • Схема компоновки данных – Цены поступления

1c розница

  • Наименование — Розничная,
  • Идентификатор для формул – заполнится автоматически из Наименования,
  • Способ задания цены – выбираем из списка Рассчитывать по другим видам цен.
  • Для заполнения Правил расчета нажимаем кнопку Конструктор формул

1c розница

В открывшемся окне задаем формулу:
Выбираем необходимую цену из списка доступных (Закупочная в нашем случае) и оператор (знак умножения) и коэффициент, на который нужно умножить базовую цену (1.35 в нашем случае).
Важно! Для разделения целой и дробной части чисел в формулах используйте точку!
Аналогичным образом можно задать любую формулу.

1c розница

Нажимаем Сохранить и закрыть. Готово, теперь у нас в базе есть 2 вида цен, один – для закупки, другой – для продаж.
Далее зададим Правила ценообразования. Эти правила позволяют назначать разные цены на одну и туже номенклатуру для разных торговых точек. Например, подсолнечное масло в торговой точке на окраине города продается с наценкой 35%, и с наценкой 50% в магазине в центре города.
В нашем случае на все товары наценка будет одинаковой на все товары для всех групп магазинов.
Для создания правил переходим в раздел Маркетинг – Ценообразование – Правила ценообразования. Нажимаем кнопку Создать.
Заполняем Наименование и Вид цен

1c розница

Нажимаем Записать и закрыть. Готово, виды цен и правила ценообразования заданы.


05.03.2021


Контроль наличия и оформления первичных документов в «1С:Бухгалтерии 8»

Электронные документы, сформированные в программах 1С при использовании электронного документооборота (ЭДО), полностью соответствуют требованиям законодательства. При этом многие учетные документы, например документы поступления и реализации, полученные и выданные счета-фактуры, автоматически создаются в программе на основе входящих электронных документов. Если организация не использует ЭДО со своими контрагентами, бухгалтерской службе приходится не только следить за своевременным отражением хозяйственных операций в учетной системе, но и проверять наличие обязательных реквизитов первичных документов, а также наличие их оригиналов. Как в «1С:Бухгалтерии 8» редакции 3.0 можно контролировать оформление бумажной первички, рассказывают эксперты 1С.

Обмен документами с контрагентами

Каждый факт хозяйственной жизни следует регистрировать с помощью первичного учетного документа, который должен содержать обязательные реквизиты (ч.ч. 1-2 ст. 9 Федерального закона от 06.12.2011 № 402-ФЗ «О бухгалтерском учете»).

В настоящее время допускаются два варианта составления первичного учетного документа (ч. 5 ст. 9 Закона № 402-ФЗ):

  • на бумажном носителе;

  • в виде электронного документа, подписанного электронной подписью.

Что касается бумажных первичных документов, то практически в каждой организации бухгалтерская служба сталкивается с ситуацией, когда такие документы либо поступают несвоевременно или вовсе отсутствуют, либо оформлены ненадлежащим образом, либо представлены только в виде скан-копий. В большей степени это относится к документам от поставщиков. Приходится разворачивать целую кампанию по поиску и приведению документов в порядок и тратить на это драгоценное время.

Электронные документы, созданные в программах 1С посредством электронного документооборота и используемые в качестве первичных учетных документов, полностью соответствуют требованиям законодательства. Кроме того, ЭДО с контрагентами имеет ряд других неоспоримых преимуществ. Это:

  • сокращение времени обмена документами с контрагентами — обмен электронными юридически значимыми документами происходит за считанные минуты;

  • отказ от «ручного» ввода данных и снижение ошибок, связанных с человеческим фактором, поскольку документы поступления (накладные, акты, счета-фактуры, УПД от поставщиков) в учетной системе создаются автоматически на основе входящих электронных документов;

  • сокращение времени на ввод входящих документов в информационную систему;

  • снижение времени на подготовку и представление документов по требованиям налоговых инспекторов. О представлении документов по требованию ИФНС из «1С:Бухгалтерии 8» см. в № 2 (февраль), стр. 27 «БУХ.1С» за 2021 год и в статье «Представление документов по требованию ФНС из «1С:Бухгалтерии 8»;

  • сокращение затрат на ведение «бумажного» документооборота (оплата труда оператора, стоимость бумаги и картриджей, хранение документов и пр.);

  • отказ от ведения бумажного архива — архив электронных документов создается в программах 1С автоматически. В ходе стандартных процедур по резервированию информационной базы можно создавать резервную копию электронного архива;

  • удобство контроля статуса документооборота. Статусы (например, Ожидается подтверждение, Ожидается исправление, ЭДО завершен) можно проверить с помощью отбора или фильтров вместо ручного разбора папок с бумажными документами;

  • возможность для руководителя подписывать электронной подписью сразу группу документов, выбранных с помощью гибкой системы фильтров;

  • безопасность обмена электронными документами, что приобретает особую значимость в период пандемии.

В программы 1С встроен сервис 1С-ЭДО (включая 1С-Такском), который обеспечивает электронный документооборот с контрагентами, в том числе с контрагентами, которые используют другие учетные программы (не 1С).

Для работы сервисов необходим доступ в интернет, установленный на рабочем месте криптопровайдер, а также усиленная квалифицированная электронная подпись (УКЭП), выданная аккредитованным удостоверяющим центром. Можно использовать сертификат, полученный при подключении к сервису 1С-Отчетность. При отсутствии у организации электронной подписи ее можно получить с помощью сервиса 1С:Подпись, заявку на сертификат можно отправить прямо из программы 1С.

Чтобы начать обмен электронными документами, достаточно направить контрагенту приглашение прямо из программы и получить от него подтверждение. Подробнее см. видео.

О возможностях и условиях использования сервисов 1С-ЭДО и 1С:Подпись см. на Портале 1С:ИТС.

Если по какой-либо причине ЭДО не применяется при обмене документами с тем или иным контрагентом, то для ускорения документооборота можно воспользоваться сервисом ЭДО без электронной подписи для участников 1С:Бизнес-сеть. Данный сервис позволяет отправлять и получать документы в программах 1С без настройки обмена и криптографии, а также без электронной подписи. Для работы сервиса необходим доступ в интернет.

Полученные от контрагента электронные документы автоматически заносятся в базу, что сокращает время ввода документов и уменьшает количество ошибок и опечаток. При этом, в отличие от полноценного ЭДО, электронные документы без электронной подписи не имеют юридической силы и требуют наличия бумажных оригиналов.

Подробнее об условиях использования сервиса ЭДО без электронной подписи для участников 1С:Бизнес-сеть см. на Портале 1С:ИТС.

Если контрагенты не используют сервисы 1С-ЭДО, 1С-Такском и ЭДО без электронной подписи для участников 1С:Бизнес-сеть, то упростить процесс регистрации первичных учетных документов в информационной системе поможет обмен документами по электронной почте. Также приходные документы от поставщика можно загружать из сохраненных файлов. При этом поставщик обязан передать (или отправить по почте) своему покупателю (заказчику) документы, оформленные на бумажном носителе.

Как в программе «1С:Бухгалтерия 8» (ред. 3.0) загрузить документы от поставщика по электронной почте

Видеоролик выполнен в программе «1С:Бухгалтерия 8» (релиз 3.0.42.84).

Требования к бумажным первичным документам

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

Полученным от поставщиков

Для приходного «бумажного» документа это означает, что он должен быть физически получен от поставщика и при этом содержать все обязательные реквизиты в соответствии с Законом № 402-ФЗ.

Допустимо ли иметь скан-копию первичного учетного документа вместо его оригинала? По этому вопросу Минфин России высказывал противоположные мнения.

С одной стороны, Закон № 402-ФЗ не предусматривает принятие к бухгалтерскому учету электронных образов первичных учетных документов (письмо Минфина России от 02.10.2020 № 03-03-06/1/86376).

При этом в исключительных случаях организация вправе использовать скан-образы первичных документов для регистрации и хранения данных (письма Минфина России от 22.10.2020 № 03-03-06/1/92073, от 20.11.2020 № 03-03-06/3/101451). Полагаем, что пандемия коронавируса как раз относится к таким исключительным случаям.

Но с целью снижения рисков организация должна приложить максимум усилий, чтобы получить юридически значимый документ от поставщика. Как вариант можно попросить контрагента вместо оригинала бумажного документа прислать его скан-образ, подписанный электронной подписью.

Обратите внимание, что по Закону № 402-ФЗ наименование должности лица (лиц), совершивших сделку (лиц, ответственных за оформление свершившегося события), а также подписи этих лиц с указанием фамилии и инициалов являются обязательными реквизитами первичного документа. Документ, не содержащий обязательные реквизиты первичного учетного документа, в том числе надлежаще не подписанный сторонами сделки, не принимается к учету (письмо Минфина России от 05.11.2020 № 03-03-07/96407).

Почему использовать факсимильную подпись при оформлении первичных документов рискованно — см. в статье «Смею вас заверить: безопасно ли использовать документы с факсимильной подписью».

Выставленным покупателям

Еще один вопрос, который часто возникает при обмене бумажными документами: насколько критично отсутствие подписи контрагента на расходных накладных и актах?

В связи с пандемией коронавируса и массовым переводом организаций на удаленную работу Бухгалтерский методологический центр (БМЦ), который является субъектом негосударственного регулирования бухгалтерского учета в пределах компетенций, установленных статьей 24 Закона № 402-ФЗ, выпустил рекомендацию № Р-113/2020-КпР «Первичные учетные документы в условиях удаленной работы» (утв. 06.04.2020 Фондом «НРБУ «БМЦ»).

В Рекомендации Р-113/2020-КпР уточняется, что Закон № 402-ФЗ допускает возможность, но не требует подписания первичного учетного документа несколькими лицами. Подписи лиц со стороны контрагентов организации не входят в число обязательных реквизитов первичного учетного документа в соответствии с Законом № 402-ФЗ. К тому же указанный закон устанавливает обязательные реквизиты первичного учетного документа, но не определяет конкретные виды документов, которые должна использовать организация для оформления фактов хозяйственной жизни.

Поэтому, по мнению БМЦ, организация вправе для оформления любого факта хозяйственной жизни, в том числе связанного с ее отношениями с контрагентами, составлять и подписывать первичный учетный документ без участия других сторон.

Отметим, что следует различать хозяйственные документы (документы, оформляемые в целях реализации гражданско-правовых, трудовых и иных договоров организации с другими лицами, например, акты приема-передачи имущества, товарные, транспортные накладные и др.) и первичные учетные документы. Хозяйственные документы не являются по умолчанию первичными учетными документами, а лишь выполняют роль источника информации для ее включения в составленный организацией первичный учетный документ. При этом организация вправе использовать хозяйственные документы непосредственно в качестве первичных учетных документов для оформления фактов хозяйственной жизни при условии, что они отвечают всем требованиям Закона № 402-ФЗ.

Статусы оформления первичных документов

Чтобы проконтролировать наличие оригиналов первичных документов, а также счетов-фактур, полученных от поставщиков, в «1С:Бухгалтерии 8» редакции 3.0 в стандартных документах поступления (раздел Покупки) предусмотрена группа реквизитов Оригинал (рис. 1).

Рис._1._Оригинал_получен.jpg

Рис. 1. Контроль полученных оригиналов входящих документов

При получении оригинала первичного документа, оформленного с учетом требований Закона № 402-ФЗ, следует установить флаг получен, а при поступлении оригинала счета-фактуры — флаг СФ получен. При получении УПД доступен только флаг получен.

Изменять статусы получения оригиналов первичных документов и оригиналов счетов-фактур можно не только из форм документов поступления, но и из списка. Для этого в списке документов поступления (документов поступления дополнительных расходов) следует выделить один или несколько документов и изменить статус их подписания по кнопке Оригинал, выбрав одну из команд:

  • Оригинал получен;

  • Оригинал не получен;

  • СФ оригинал получен;

  • СФ оригинал не получен;

  • Все оригиналы получены.

Эта возможность особенно актуальна для документов, относящихся к закрытому периоду, поскольку изменение статуса не требует их перепроведения.

Как в программе «1С:Бухгалтерия 8» (ред. 3.0) проконтролировать получение от поставщиков оригиналов первичных документов и счетов-фактур

Видеоролик выполнен в программе «1С:Бухгалтерия 8» версия 3.0.76.67.

Проконтролировать подписание покупателями (заказчиками) документов реализации позволяет флаг Документ подписан, установленный в форме документа Реализация (акт, накладная, УПД) (раздел Продажи). Если в учетной системе продавца (исполнителя) регистрируется документ реализации, оформленный с обеих сторон, то флаг Документ подписан должен быть включен (рис. 2). Если же документ реализации регистрируется продавцом (исполнителем), не будучи при этом подписанным со стороны контрагента, то флаг Документ подписан включать не следует.

Рис._2._Документ_подписан.jpg

Рис. 2. Контроль подписания документа реализации

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

Управлять реквизитом Подписан можно не только из формы документа реализации, но также из списка документов реализации. Можно выделить сразу несколько документов в списке и изменить статус их подписания по команде Подписан — Документ подписан. Это особенно актуально для документов реализации, относящихся к закрытому периоду, поскольку изменение статуса не требует их перепроведения.

О том, как в программе «1С:Бухгалтерия 8» редакции 3.0 организован аналитический учет расчетов с контрагентами, см. статью «Расчеты с контрагентами в «1С:Бухгалтерии 8».

Как в «1С:Бухгалтерии 8» редакции 3.0 контролировать подписание покупателями

Видеоролик выполнен в программе «1С:Бухгалтерия 8» релиз 3.0.39.67.

При ведении учета в программе было бы полезно не просто контролировать наличие надлежаще оформленных первичных документов, но и направлять эту информацию ответственным лицам. Иными словами, хорошо было бы иметь оперативную информацию по первичке для принятия управленческих решений: что не так и с кого спросить. Возможно ли это в 1С? Конечно. Рассказываем подробнее.

Настройка дополнительных свойств для объектов программы

Возможность указывать лицо, ответственное за ведение сделки с конкретным контрагентом или по конкретному договору (менеджера), в стандартных документах поступления и реализации не предусмотрена.

При этом программа позволяет настраивать наборы дополнительных свойств для определенных объектов программы. Например, можно добавить дополнительный реквизит Менеджер в справочник Контрагенты, указывать ответственное лицо в карточке контрагента, а затем эту информацию использовать при составлении отчетов по полученным (выданным) документам.

Использование дополнительных реквизитов включается в разделе Администрирование. По ссылке Общие настройки следует перейти в одноименную форму, развернуть группу Дополнительные реквизиты и сведения и установить одноименный флаг (рис. 3).

Рис._3._Общие_настройки.jpg

Рис. 3. Общие настройки

Для добавления дополнительных реквизитов и описания их свойств следует перейти по гиперссылке Дополнительные реквизиты в одноименную форму, которая представляет собой таблицу из двух частей:

  • в левой части располагаются наборы реквизитов, назначенных справочникам или документам, которые показаны в виде групп;

  • в правой части в виде таблицы располагается список дополнительных реквизитов, входящих в набор, выделенный курсором. В таблице выводится имя дополнительного реквизита и тип значения.

Для назначения нового дополнительного реквизита справочнику Контрагенты в левой части формы Дополнительные реквизиты следует выбрать соответствующий набор и нажать на кнопку Добавить — Новый. В открывшейся карточке дополнительного реквизита нужно заполнить поля следующим образом (рис. 4):

022-02.jpg

Рис. 4. Карточка дополнительного реквизита

  • указать краткое наименование реквизита (например, Менеджер), которое будет выводиться в карточке контрагента;

  • в поле Тип значения указать значение Физическое лицо, выбрав его из предлагаемого списка. В этом случае менеджеров можно будет выбирать из справочника Физические лица;

  • если включить флаг Выводить в виде гиперссылки, то в карточке контрагента после ввода дополнительного реквизита будет размещена ссылка на карточку указанного физического лица;

  • для настройки видимости дополнительного реквизита следует перейти по ссылке, расположенной в поле Виден. Видимость дополнительного реквизита может зависеть от некоторого условия (например, от заполнения другого реквизита). После того как условие задано, ссылка отображает заданное условие. По умолчанию отображается значение всегда;

  • для настройки доступности дополнительного реквизита следует перейти по ссылке, расположенной в поле Доступен. После того как условие задано, ссылка отображает заданное условие. По умолчанию отображается значение всегда;

  • чтобы дополнительный реквизит при заполнении справочника Контрагенты не оставался пустым, следует включить флаг Заполнять обязательно. Обязательность заполнения может зависеть от некоторого условия (например, от заполнения другого реквизита). Чтобы задать условие, следует перейти по ссылке, расположенной рядом. Ссылка по умолчанию принимает значение всегда;

  • в поле Идентификатор для формул следует ввести идентификатор, который требуется при использовании дополнительного реквизита;

  • чтобы объяснить, как заполняется дополнительный реквизит, можно заполнить поле Всплывающая подсказка.

После сохранения дополнительного реквизита в карточке контрагента появляется возможность вводить значение дополнительного реквизита — менеджера, который работает с данным контрагентом. Менеджер выбирается из справочника Физические лица. Можно добавить новое физическое лицо в справочник непосредственно из карточки контрагента по кнопке с плюсом.

Помимо раздела Администрирование список наборов дополнительных реквизитов можно также открыть непосредственно из карточки контрагента по команде Еще — Изменить состав дополнительных реквизитов.

Настройки отчетов по проблемной первичке

После того как к каждому контрагенту будет «привязан» менеджер, можно формировать отчеты по «проблемной» первичке, например отчет по отсутствующим оригиналам документов поступления (или оформленных с нарушением Закона № 402-ФЗ), с указанием лиц, ответственных за работу с каждым контрагентом.

Для этого следует открыть список входящих документов поступления (раздел Покупки — Поступление (акты, накладные, УПД)) и воспользоваться командой Еще — Настроить список.

В открывшейся форме настроек на закладке Отбор следует установить отбор по отсутствующим оригиналам первичных документов:

  • в левой части формы настроек среди доступных полей выбрать поле Оригинал и нажать на кнопку Выбрать;

  • в правой части формы настроек в появившейся строке в поле Вид сравнения установить значение Равно, а в поле Значение установить значение Нет.

На закладке Группировка в левой части формы среди доступных полей следует выбрать поле Контрагент, раскрыть его реквизиты, щелкнув по пиктограмме со значком «+», найти реквизит Менеджер и выбрать его (либо кнопкой, либо мышью). По кнопке Завершить редактирование осуществляется возврат в список документов поступления, который теперь сгруппирован по контрагентам, у которых отсутствуют оригиналы первичных документов.

Сохранить выполненные настройки можно по команде Еще — Сохранить настройки.

Чтобы вывести результат на печать, следует выделить любую строку с документом поступления и нажать на кнопку Печать — Реестр документов. Обратите внимание: если выделить строку с дополнительным реквизитом, то есть менеджером, команда печати документа не может быть выполнена (это особенность платформы).

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

В настройках реестра на закладке Оформление следует установить флаги для тех показателей, которые дополнительно требуется отразить в отчете, например, для показателя Контрагент [Менеджер (Справочник «Контрагенты»)].

Печатная форма реестра с выполненными настройками отображается на экране по кнопке Сформировать (рис. 5).

Рис._7._Реестр.jpg

Рис. 5. Реестр отсутствующих оригиналов документов поступления по менеджерам

Поделиться с друзьями:

Подписаться на комментарии

Отправить на почту

Печать

Написать комментарий

Contents

  • 1 Введение
  • 2 Архитектура
  • 3 Использование
  • 4 Особенности реализации
  • 5 Источники

Введение

В этой статье я хотел бы рассказать об архитектуре, использовании и особенностях реализации подсистемы «Свойства» из инструментария разработчика «1С:Библиотека стандартных подсистем» (1С БСП).

Для начала предлагаю разобраться с терминологией 1С БСП: согласно ИТС дополнительные реквизиты и сведения — это свойства.  По моему мнению, подсистема «Свойства» (Управление свойствами) — это очень мощный функционал, который позволяет во многих случаях отказаться от снятия конфигурации с поддержки или внесения ненужных изменений и ошибок в конфигурацию.

Архитектура

Описание работы с подсистемой «Свойства» на сайте ИТС 1С является исчерпывающим для типовых конфигураций, но в любом случае, для того, чтобы начать работать со свойствами в любой конфигурации с внедрённым 1С БСП необходимо установить установить константу «Использовать дополнительные реквизиты и сведения» в значение «Истина».  После этого мы можем открыть справочник «Наборы дополнительных реквизитов и сведений», который содержит список объектов для которых можно создавать дополнительные реквизиты и сведения. При добавлении через стандартные формы 1С БСП пользователь создаёт новый элемент «Плана видов характеристик», который добавляется в табличную часть элемента.

Дополнительные сведения отличаются от дополнительных реквизитов прежде всего расположением, дополнительные сведения содержатся в отдельном регистре с одноименным названием, а дополнительные реквизиты являются табличной частью объекта, к которому относятся. На рисунке ниже слева-направо изображены: элемент справочника «Наборы дополнительных реквизитов и свойств», элемент плана видов характеристик и список регистра сведений «Дополнительные сведения».

Следующий рисунок изображает пример дополнительного реквизита, слева-направо: элемент справочника «Наборы дополнительных реквизитов и свойств», элемент плана видов характеристик и элемент справочника, в который был добавлен дополнительный реквизит.

Также стоит учитывать, что большая часть объектов метаданных в справочнике «Наборы дополнительных реквизитов и сведений» является предопределённой:

Однако, заполнение этих данных происходит программно, при внедрении 1С БСП или обновлении информационной базы — для этого в общих модулях добавляют процедуру ПриПолученииПредопределенныхНаборовСвойств. Уникальный идентификатор задаётся в явном виде, в т.ч. для того чтобы облегчить процедуры обмена между базами.

// См. УправлениеСвойствамиПереопределяемый.ПриПолученииПредопределенныхНаборовСвойств.
//
// Параметры:
//   Наборы - см. УправлениеСвойствамиПереопределяемый.ПриПолученииПредопределенныхНаборовСвойств.Наборы
//
Процедура ПриПолученииПредопределенныхНаборовСвойств(Наборы) Экспорт
	Набор = Наборы.Строки.Добавить();
	Набор.Имя = "Справочник_ПапкиФайлов";
	Набор.Идентификатор = Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000");
КонецПроцедуры

С точки зрения интеграции с объектами механизм работы с формами не сильно отличается от аналогичных у других подсистем 1С БСП: из модуля УправлениеСвойствами вызываются процедуры и функции с названиями соответствующими названиям событий для которых они вызываются, например:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    // Обработчик подсистемы "Свойства"
    ДополнительныеПараметры = Новый Структура;
    ДополнительныеПараметры.Вставить("Объект", Объект);
    ДополнительныеПараметры.Вставить("ИмяЭлементаДляРазмещения", "ГруппаДополнительныеРеквизиты");
    УправлениеСвойствами.ПриСозданииНаСервере(ЭтаФорма, ДополнительныеПараметры);
    
КонецПроцедуры

Полный список функций и процедур находится в общем модуле УправлениеСвойствами в блоке, озаглавленным: «Процедуры и функции для стандартной обработки дополнительных реквизитов».

Использование

Каждый дополнительный реквизит или свойство содержит поле «Имя», подразумевается, что для программного использования будет использоваться этот реквизит.

Пример использования имени для получения дополнительного реквизита:

ВЫБРАТЬ
	ГражданствоФизическихЛиц.ФизическоеЛицо КАК ФизическоеЛицо,
	ФизическиеЛицаДополнительныеРеквизиты.Значение КАК Рост,
	ГражданствоФизическихЛиц.Страна КАК Страна
ИЗ
	Справочник.ФизическиеЛица.ДополнительныеРеквизиты КАК ФизическиеЛицаДополнительныеРеквизиты
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГражданствоФизическихЛиц КАК ГражданствоФизическихЛиц
		ПО ГражданствоФизическихЛиц.ФизическоеЛицо = ФизическиеЛицаДополнительныеРеквизиты.Ссылка
ГДЕ
	ГражданствоФизическихЛиц.ФизическоеЛицо = &ФизическоеЛицо
	И ФизическиеЛицаДополнительныеРеквизиты.Свойство.Имя = &Имя

Результат:

Пример запроса для получения всех дополнительных свойств:

ВЫБРАТЬ
	ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
	ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен,
	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
	ДополнительныеСведения.Свойство КАК Свойство,
	ДополнительныеСведения.Значение КАК Значение,
	ДополнительныеСведения.Свойство.Имя КАК ИмяСвойства
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
			&Дата,
			Номенклатура = &Номенклатура
				И ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
		ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ДополнительныеСведения.Объект
ИТОГИ
	МАКСИМУМ(Номенклатура),
	МАКСИМУМ(Цена)
ПО
	ОБЩИЕ,
	ТипЦен

Результат:

Примеры получения свойств без запроса:

Рост = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.найтиПоРеквизиту("Имя", "Рост_12f49d4f164847b79effd75a758186c3");
// Получение дополнительного реквизита
Рост = УправлениеСвойствами.ЗначениеСвойства(ФизическоеЛицо.Ссылка, Рост);
// Получение всех дополнительных реквизитов и сведений объекта
ВсеСвойства = УправлениеСвойствами.ЗначенияСвойств(ФизическоеЛицо.Ссылка);

Особенности реализации

Если с запросами и функциями всё более менее ясно неприятным сюрпризом может стать то, что дополнительный реквизит на форме содержит название, отличающееся от этого реквизита, например, такое:

Чтобы найти реквизит на форме 1С БСП создаёт новые реквизиты формы Свойства_ОписаниеДополнительныхРеквизитов и Свойства_ОписаниеЗависимыхДополнительныхРеквизитов, с помощью них можно установить однозначное соответствие между элементом и значением объекта:

Второй особенностью реализации можно выделить невозможность создания свойства с мутабельным типом, с одной стороны это очевидное ограничение, с другой тип «Список значений» вполне допустим, но только для дополнительного реквизита (у дополнительных сведений невозможность связана с архитектурными ограничениями, так как объект и свойство — это измерения регистра «Дополнительные сведения»). Возможно, отсутствие такого типа связано со сложностями при обмене, а возможно в скором времени это будет реализовано, предлагаю посмотреть на пример такой реализации ниже.

Добавим новый дополнительный реквизит для справочника физические лица «Номера счетов»

Добавляем программно, вторую запись в табличную часть «Дополнительные реквизиты» справочника «Физические лица» с тем же самым свойством:

Немного модифицируем код функции ЗначенияСвойств в общем модуле УправлениеСвойствамиСлужебный:

А также код процедуры ЗаполнитьДополнительныеРеквизитыВФорме в общем модуле УправлениеСвойствами:

Таким образом мы можем сохранять и восстанавливать значения реквизитов, которые, принимают множество значений.

// Создает/пересоздает дополнительные реквизиты и элементы в форме владельца свойств.
//
// Параметры:
//  Форма           - ФормаКлиентскогоПриложения - уже настроена в процедуре ПриСозданииНаСервере.
//
//  Объект          - Неопределено - взять объект из реквизита формы "Объект".
//                  - СправочникОбъектИмяСправочника - 
//                  - ДокументОбъектИмяДокумента - 
//                  - ПланВидовХарактеристикОбъектИмяПланаВидовХарактеристик - 
//                  - БизнесПроцессОбъектИмяБизнесПроцесса - 
//                  - ЗадачаОбъектИмяЗадачи - 
//                  - ПланВидовРасчетаОбъектИмяПланаВидовРасчета - 
//                  - ПланСчетовОбъектИмяПланаСчетов -
//                  - ДанныеФормыСтруктура -
//
//  ПоляНадписей    - Булево - если указать Истина, то вместо полей ввода на форме будут созданы поля надписей.
//
//  СкрытьУдаленные - Неопределено - не менять текущий режим скрытия удаленных, установленный ранее.
//                  - Булево - установить/отключить режим скрытия удаленных.
//                    При вызове процедуры ПередЗаписьюНаСервере в режиме скрытия удаленных, удаленные значения
//                    очищаются (не переносятся обратно в объект), а режим СкрытьУдаленные устанавливается Ложь.
//
Процедура ЗаполнитьДополнительныеРеквизитыВФорме(Форма, Объект = Неопределено, ПоляНадписей = Ложь, СкрытьУдаленные = Неопределено) Экспорт
	
	Если НЕ Форма.Свойства_ИспользоватьСвойства
	 ИЛИ НЕ Форма.Свойства_ИспользоватьДопРеквизиты Тогда
		Возврат;
	КонецЕсли;
	
	Если ТипЗнч(СкрытьУдаленные) = Тип("Булево") Тогда
		Форма.Свойства_СкрытьУдаленные = СкрытьУдаленные;
	КонецЕсли;
	
	Если Объект = Неопределено Тогда
		ОписаниеОбъекта = Форма.Объект;
	Иначе
		ОписаниеОбъекта = Объект;
	КонецЕсли;
	
	Форма.Свойства_НаборыДополнительныхРеквизитовОбъекта = Новый СписокЗначений;
	
	КлючНазначения = Неопределено;
	НаборыСвойствОбъекта = УправлениеСвойствамиСлужебный.ПолучитьНаборыСвойствОбъекта(
		ОписаниеОбъекта, КлючНазначения);
	
	УправлениеСвойствамиСлужебный.ЗаполнитьНаборыСДополнительнымиРеквизитами(
		НаборыСвойствОбъекта,
		Форма.Свойства_НаборыДополнительныхРеквизитовОбъекта);
	
	ОбновитьКлючНазначенияФормы(Форма, КлючНазначения);
	
	ОписаниеСвойств = УправлениеСвойствамиСлужебный.ЗначенияСвойств(
		ОписаниеОбъекта.ДополнительныеРеквизиты.Выгрузить(),
		Форма.Свойства_НаборыДополнительныхРеквизитовОбъекта,
		Ложь);
	
	ОписаниеСвойств.Колонки.Добавить("ИмяРеквизитаЗначение");
	ОписаниеСвойств.Колонки.Добавить("СтрокаСсылочногоТипа");
	ОписаниеСвойств.Колонки.Добавить("ИмяСсылочногоРеквизитаЗначение");
	ОписаниеСвойств.Колонки.Добавить("ИмяУникальнаяЧасть");
	ОписаниеСвойств.Колонки.Добавить("ДополнительноеЗначение");
	ОписаниеСвойств.Колонки.Добавить("Булево");
	
	УдалитьСтарыеРеквизитыИЭлементы(Форма);
	
	// Создание реквизитов.
	ДобавляемыеРеквизиты = Новый Массив();
	
	Для каждого ОписаниеСвойства Из ОписаниеСвойств Цикл
		
		ТипЗначенияСвойства = ОписаниеСвойства.ТипЗначения;
		СписокТипов = ТипЗначенияСвойства.Типы();
		СтроковыйРеквизит = (СписокТипов.Количество() = 1) И (СписокТипов[0] = Тип("Строка"));
		
		// Поддержка строк неограниченной длины.
		ИспользоватьНеограниченнуюСтроку = УправлениеСвойствамиСлужебный.ИспользоватьНеограниченнуюСтроку(
			ТипЗначенияСвойства, ОписаниеСвойства.МногострочноеПолеВвода);
		
		Если ИспользоватьНеограниченнуюСтроку Тогда
			ТипЗначенияСвойства = Новый ОписаниеТипов("Строка");
		ИначеЕсли ТипЗначенияСвойства.СодержитТип(Тип("Строка"))
			И ТипЗначенияСвойства.КвалификаторыСтроки.Длина = 0 Тогда
			// Если нельзя использовать неограниченную строку, а в свойствах реквизита она неограниченная,
			// то устанавливаем ограничение в 1024 символа.
			ТипЗначенияСвойства = Новый ОписаниеТипов(ОписаниеСвойства.ТипЗначения,
				,,, Новый КвалификаторыСтроки(1024));
		КонецЕсли;
		
		ОписаниеСвойства.ИмяУникальнаяЧасть = 
		СтрЗаменить(ВРег(Строка(ОписаниеСвойства.Набор.УникальныйИдентификатор())), "-", "x")
		+ "_"
		+ СтрЗаменить(ВРег(Строка(ОписаниеСвойства.Свойство.УникальныйИдентификатор())), "-", "x");
		
		// {{ Prosto. [Silantev Oleg Sergeevich] - [26.09.2020 21:51].
		Если ОписаниеСвойств.Найти("ДополнительныйРеквизитЗначение_" + ОписаниеСвойства.ИмяУникальнаяЧасть) <> Неопределено Тогда 
			ОписаниеСвойства.ИмяУникальнаяЧасть = ОписаниеСвойства.ИмяУникальнаяЧасть + "_" + ОписаниеСвойств.Индекс(описаниеСвойства);		
		КонецЕсли;
		// }} {{ Prosto. [Silantev Oleg Sergeevich] - [26.09.2020 21:51].
		
		
		ОписаниеСвойства.ИмяРеквизитаЗначение =
		"ДополнительныйРеквизитЗначение_" + ОписаниеСвойства.ИмяУникальнаяЧасть;
		
		
		ОписаниеСвойства.СтрокаСсылочногоТипа = Ложь;
		Если СтроковыйРеквизит
			И Не ИспользоватьНеограниченнуюСтроку
			И ОписаниеСвойства.ВыводитьВВидеГиперссылки Тогда
			ФорматированнаяСтрока                           = Новый ОписаниеТипов("ФорматированнаяСтрока");
			ОписаниеСвойства.СтрокаСсылочногоТипа           = Истина;
			ОписаниеСвойства.ИмяСсылочногоРеквизитаЗначение = "СсылочныйДополнительныйРеквизитЗначение_" + ОписаниеСвойства.ИмяУникальнаяЧасть;
			
			Реквизит = Новый РеквизитФормы(ОписаниеСвойства.ИмяСсылочногоРеквизитаЗначение, ФорматированнаяСтрока, , ОписаниеСвойства.Наименование, Истина);
			ДобавляемыеРеквизиты.Добавить(Реквизит);
		КонецЕсли;
		
		Если ОписаниеСвойства.Удалено Тогда
			ТипЗначенияСвойства = Новый ОписаниеТипов("Строка");
		КонецЕсли;
		
		Реквизит = Новый РеквизитФормы(ОписаниеСвойства.ИмяРеквизитаЗначение, ТипЗначенияСвойства, , ОписаниеСвойства.Наименование, Истина);
		ДобавляемыеРеквизиты.Добавить(Реквизит);
		
		ОписаниеСвойства.ДополнительноеЗначение =
			УправлениеСвойствамиСлужебный.ТипЗначенияСодержитЗначенияСвойств(ТипЗначенияСвойства);
		
		ОписаниеСвойства.Булево = ОбщегоНазначения.ОписаниеТипаСостоитИзТипа(ТипЗначенияСвойства, Тип("Булево"));
	КонецЦикла;
	Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
	
	// Создание элементов формы.
	Для Каждого ОписаниеСвойства Из ОписаниеСвойств Цикл
		
		ИмяЭлементаДляРазмещения = Форма.Свойства_ИмяЭлементаДляРазмещения;
		Если ТипЗнч(ИмяЭлементаДляРазмещения) <> Тип("СписокЗначений") Тогда
			Если ИмяЭлементаДляРазмещения = Неопределено Тогда
				ИмяЭлементаДляРазмещения = "";
			КонецЕсли;
			
			ЭлементРазмещения = ?(ИмяЭлементаДляРазмещения = "", Неопределено, Форма.Элементы[ИмяЭлементаДляРазмещения]);
		Иначе
			РазделыДляРазмещения = Форма.Свойства_ИмяЭлементаДляРазмещения;
			РазмещениеНабора = РазделыДляРазмещения.НайтиПоЗначению(ОписаниеСвойства.Набор);
			Если РазмещениеНабора = Неопределено Тогда
				РазмещениеНабора = РазделыДляРазмещения.НайтиПоЗначению("ВсеОстальные");
			КонецЕсли;
			ЭлементРазмещения = Форма.Элементы[РазмещениеНабора.Представление];
		КонецЕсли;
		
		ФормаОписаниеСвойства = Форма.Свойства_ОписаниеДополнительныхРеквизитов.Добавить();
		ЗаполнитьЗначенияСвойств(ФормаОписаниеСвойства, ОписаниеСвойства);
		
		// Заполнение таблицы зависимых дополнительных реквизитов.
		Если ОписаниеСвойства.ЗависимостиДополнительныхРеквизитов.Количество() > 0
			И Не ОписаниеСвойства.Удалено Тогда
			ОписаниеЗависимогоРеквизита = Форма.Свойства_ОписаниеЗависимыхДополнительныхРеквизитов.Добавить();
			ЗаполнитьЗначенияСвойств(ОписаниеЗависимогоРеквизита, ОписаниеСвойства);
		КонецЕсли;
		
		ОтборСтрок = Новый Структура;
		ОтборСтрок.Вставить("НаборСвойств", ОписаниеСвойства.Набор);
		ЗависимостиДанногоНабора = ОписаниеСвойства.ЗависимостиДополнительныхРеквизитов.НайтиСтроки(ОтборСтрок);
		Для Каждого СтрокаТаблицы Из ЗависимостиДанногоНабора Цикл
			Если СтрокаТаблицы.ЗависимоеСвойство = "ЗаполнятьОбязательно"
				И ОписаниеСвойства.ТипЗначения = Новый ОписаниеТипов("Булево") Тогда
				Продолжить;
			КонецЕсли;
			Если ОписаниеСвойства.Удалено Тогда
				Продолжить;
			КонецЕсли;
			
			Если ТипЗнч(СтрокаТаблицы.Реквизит) = Тип("Строка") Тогда
				ПутьКРеквизиту = "Параметры.ОписаниеОбъекта." + СтрокаТаблицы.Реквизит;
			Иначе
				ОписаниеДополнительногоРеквизита = ОписаниеСвойств.Найти(СтрокаТаблицы.Реквизит, "Свойство");
				Если ОписаниеДополнительногоРеквизита = Неопределено Тогда
					Продолжить; // Дополнительный реквизит не существует, условие игнорируется.
				КонецЕсли;
				ПутьКРеквизиту = "Параметры.Форма." + ОписаниеДополнительногоРеквизита.ИмяРеквизитаЗначение;
			КонецЕсли;
			
			УправлениеСвойствамиСлужебный.ПостроитьУсловияЗависимостей(ОписаниеЗависимогоРеквизита, ПутьКРеквизиту, СтрокаТаблицы);
		КонецЦикла;
		
		Если ОписаниеСвойства.СтрокаСсылочногоТипа Тогда
			Если ЗначениеЗаполнено(ОписаниеСвойства.Значение) Тогда
				Значение = ОписаниеСвойства.ТипЗначения.ПривестиЗначение(ОписаниеСвойства.Значение);
				СтрокаЗначение = СтроковыеФункции.ФорматированнаяСтрока(Значение);
			Иначе
				Значение = НСтр("ru = 'не задано'");
				СсылкаРедактирования = "НеЗадано";
				СтрокаЗначение = Новый ФорматированнаяСтрока(Значение,, ЦветаСтиля.ЦветПустойГиперссылки,, СсылкаРедактирования);
			КонецЕсли;
			Форма[ОписаниеСвойства.ИмяСсылочногоРеквизитаЗначение] = СтрокаЗначение;
		КонецЕсли;
		Форма[ОписаниеСвойства.ИмяРеквизитаЗначение] = ОписаниеСвойства.Значение;
		
		Если ОписаниеСвойства.Удалено И Форма.Свойства_СкрытьУдаленные Тогда
			Продолжить;
		КонецЕсли;
		
		Если НаборыСвойствОбъекта.Количество() > 1 Тогда
			
			ЭлементСписка = Форма.Свойства_ЭлементыГруппДополнительныхРеквизитов.НайтиПоЗначению(
				ОписаниеСвойства.Набор);
			
			Если ЭлементСписка <> Неопределено Тогда
				Родитель = Форма.Элементы[ЭлементСписка.Представление];
			Иначе
				ОписаниеНабора = НаборыСвойствОбъекта.Найти(ОписаниеСвойства.Набор, "Набор");
				
				Если ОписаниеНабора = Неопределено Тогда
					ОписаниеНабора = НаборыСвойствОбъекта.Добавить();
					ОписаниеНабора.Набор     = ОписаниеСвойства.Набор;
					ОписаниеНабора.Заголовок = НСтр("ru = 'Удаленные реквизиты'")
				КонецЕсли;
				
				Если НЕ ЗначениеЗаполнено(ОписаниеНабора.Заголовок) Тогда
					ОписаниеНабора.Заголовок = Строка(ОписаниеСвойства.Набор);
				КонецЕсли;
				
				ИмяЭлементаНабора = "НаборДополнительныхРеквизитов" + ОписаниеСвойства.ИмяУникальнаяЧасть;
				
				Родитель = Форма.Элементы.Добавить(ИмяЭлементаНабора, Тип("ГруппаФормы"), ЭлементРазмещения);
				
				Форма.Свойства_ЭлементыГруппДополнительныхРеквизитов.Добавить(
					ОписаниеСвойства.Набор, Родитель.Имя);
				
				Если ТипЗнч(ЭлементРазмещения) = Тип("ГруппаФормы")
				   И ЭлементРазмещения.Вид = ВидГруппыФормы.Страницы Тогда
					
					Родитель.Вид = ВидГруппыФормы.Страница;
				Иначе
					Родитель.Вид = ВидГруппыФормы.ОбычнаяГруппа;
					Родитель.Отображение = ОтображениеОбычнойГруппы.Нет;
				КонецЕсли;
				Родитель.ОтображатьЗаголовок = Ложь;
				Родитель.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
				
				ЗаполненныеСвойстваГруппы = Новый Структура;
				Для каждого Колонка Из НаборыСвойствОбъекта.Колонки Цикл
					Если ОписаниеНабора[Колонка.Имя] <> Неопределено Тогда
						ЗаполненныеСвойстваГруппы.Вставить(Колонка.Имя, ОписаниеНабора[Колонка.Имя]);
					КонецЕсли;
				КонецЦикла;
				ЗаполнитьЗначенияСвойств(Родитель, ЗаполненныеСвойстваГруппы);
			КонецЕсли;
		Иначе
			Родитель = ЭлементРазмещения;
		КонецЕсли;
		
		Если ОписаниеСвойства.ВыводитьВВидеГиперссылки Тогда
			ИмяГруппыГиперссылки = "Группа_" + ОписаниеСвойства.ИмяУникальнаяЧасть;
			ГруппаГиперссылки = Форма.Элементы.Добавить(ИмяГруппыГиперссылки, Тип("ГруппаФормы"), Родитель);
			ГруппаГиперссылки.Вид = ВидГруппыФормы.ОбычнаяГруппа;
			ГруппаГиперссылки.Отображение = ОтображениеОбычнойГруппы.Нет;
			ГруппаГиперссылки.ОтображатьЗаголовок = Ложь;
			ГруппаГиперссылки.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда;
			ГруппаГиперссылки.Заголовок = ОписаниеСвойства.Наименование;
			
			Элемент = Форма.Элементы.Добавить(ОписаниеСвойства.ИмяРеквизитаЗначение, Тип("ПолеФормы"), ГруппаГиперссылки); // РасширениеПоляФормыДляПоляНадписи, РасширениеПоляФормыДляПоляВвода
			
			РеквизитДоступен = РеквизитДоступенПоФункциональнымОпциям(ОписаниеСвойства);
			Если РеквизитДоступен И Не ПоляНадписей Тогда
				ИмяКнопки = "Кнопка_" + ОписаниеСвойства.ИмяУникальнаяЧасть;
				Кнопка = Форма.Элементы.Добавить(
					ИмяКнопки,
					Тип("КнопкаФормы"),
					ГруппаГиперссылки);
					
				Кнопка.ТолькоВоВсехДействиях = Истина;
				Кнопка.ИмяКоманды = "РедактироватьГиперссылкуРеквизита";
				Кнопка.ОтображениеФигуры = ОтображениеФигурыКнопки.ПриАктивности;
			КонецЕсли;
			
			Если Не ОписаниеСвойства.СтрокаСсылочногоТипа И ЗначениеЗаполнено(ОписаниеСвойства.Значение) Тогда
				Элемент.Гиперссылка = Истина;
			КонецЕсли;
		Иначе
			Элемент = Форма.Элементы.Добавить(ОписаниеСвойства.ИмяРеквизитаЗначение, Тип("ПолеФормы"), Родитель); // РасширениеПоляФормыДляПоляНадписи, РасширениеПоляФормыДляПоляВвода
		КонецЕсли;
		
		ФормаОписаниеСвойства.ЭлементФормыДобавлен = Истина;
		
		Если ОписаниеСвойства.Булево И ПустаяСтрока(ОписаниеСвойства.ФорматСвойства) Тогда
			Элемент.Вид = ВидПоляФормы.ПолеФлажка;
			Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право;
		Иначе
			Если ПоляНадписей Тогда
				Элемент.Вид = ВидПоляФормы.ПолеВвода;
			ИначеЕсли ОписаниеСвойства.ВыводитьВВидеГиперссылки
				И (ОписаниеСвойства.СтрокаСсылочногоТипа
					Или ЗначениеЗаполнено(ОписаниеСвойства.Значение))Тогда
				Элемент.Вид = ВидПоляФормы.ПолеНадписи;
			Иначе
				Элемент.Вид = ВидПоляФормы.ПолеВвода;
				Элемент.АвтоОтметкаНезаполненного = ОписаниеСвойства.ЗаполнятьОбязательно И НЕ ОписаниеСвойства.Удалено;
			КонецЕсли;
			
			Элемент.РастягиватьПоВертикали = Ложь;
			Элемент.ПоложениеЗаголовка     = ПоложениеЗаголовкаЭлементаФормы.Лево;
		КонецЕсли;
		
		Если ОписаниеСвойства.СтрокаСсылочногоТипа Тогда
			Элемент.ПутьКДанным = ОписаниеСвойства.ИмяСсылочногоРеквизитаЗначение;
			Элемент.УстановитьДействие("ОбработкаНавигационнойСсылки", "Подключаемый_СвойстваВыполнитьКоманду");
		Иначе
			Элемент.ПутьКДанным = ОписаниеСвойства.ИмяРеквизитаЗначение;
		КонецЕсли;
		Элемент.Подсказка   = ОписаниеСвойства.Подсказка;
		Элемент.УстановитьДействие("ПриИзменении", "Подключаемый_ПриИзмененииДополнительногоРеквизита");
		
		Если Элемент.Вид = ВидПоляФормы.ПолеВвода
		   И Не ИспользоватьНеограниченнуюСтроку
		   И ОписаниеСвойства.ТипЗначения.Типы().Найти(Тип("Строка")) <> Неопределено Тогда
			
			Элемент.СвязьПоТипу = Новый СвязьПоТипу("Свойства_ОписаниеДополнительныхРеквизитов.Свойство",
				ОписаниеСвойств.Индекс(ОписаниеСвойства));
		КонецЕсли;
		
		Если ОписаниеСвойства.МногострочноеПолеВвода > 0 Тогда
			Если НЕ ПоляНадписей Тогда
				Элемент.МногострочныйРежим = Истина;
			КонецЕсли;
			Элемент.Высота = ОписаниеСвойства.МногострочноеПолеВвода;
		КонецЕсли;
		
		Если НЕ ПустаяСтрока(ОписаниеСвойства.ФорматСвойства)
			И Не ОписаниеСвойства.ВыводитьВВидеГиперссылки Тогда
			Если ПоляНадписей Тогда
				Элемент.Формат = ОписаниеСвойства.ФорматСвойства;
			Иначе
				ФорматнаяСтрока = "";
				Массив = СтрРазделить(ОписаниеСвойства.ФорматСвойства, ";", Ложь);
				
				Для каждого Подстрока Из Массив Цикл
					Если СтрНайти(Подстрока, "ДП=") > 0 ИЛИ СтрНайти(Подстрока, "DE=") > 0 Тогда
						Продолжить;
					КонецЕсли;
					Если СтрНайти(Подстрока, "ЧН=") > 0 ИЛИ СтрНайти(Подстрока, "NZ=") > 0 Тогда
						Продолжить;
					КонецЕсли;
					Если СтрНайти(Подстрока, "ДФ=") > 0 ИЛИ СтрНайти(Подстрока, "DF=") > 0 Тогда
						Если СтрНайти(Подстрока, "ддд") > 0 ИЛИ СтрНайти(Подстрока, "ddd") > 0 Тогда
							Подстрока = СтрЗаменить(Подстрока, "ддд", "дд");
							Подстрока = СтрЗаменить(Подстрока, "ddd", "dd");
						КонецЕсли;
						Если СтрНайти(Подстрока, "дддд") > 0 ИЛИ СтрНайти(Подстрока, "dddd") > 0 Тогда
							Подстрока = СтрЗаменить(Подстрока, "дддд", "дд");
							Подстрока = СтрЗаменить(Подстрока, "dddd", "dd");
						КонецЕсли;
						Если СтрНайти(Подстрока, "МММ") > 0 ИЛИ СтрНайти(Подстрока, "MMM") > 0 Тогда
							Подстрока = СтрЗаменить(Подстрока, "МММ", "ММ");
							Подстрока = СтрЗаменить(Подстрока, "MMM", "MM");
						КонецЕсли;
						Если СтрНайти(Подстрока, "ММММ") > 0 ИЛИ СтрНайти(Подстрока, "MMMM") > 0 Тогда
							Подстрока = СтрЗаменить(Подстрока, "ММММ", "ММ");
							Подстрока = СтрЗаменить(Подстрока, "MMMM", "MM");
						КонецЕсли;
					КонецЕсли;
					Если СтрНайти(Подстрока, "ДЛФ=") > 0 ИЛИ СтрНайти(Подстрока, "DLF=") > 0 Тогда
						Если СтрНайти(Подстрока, "ДД") > 0 ИЛИ СтрНайти(Подстрока, "DD") > 0 Тогда
							Подстрока = СтрЗаменить(Подстрока, "ДД", "Д");
							Подстрока = СтрЗаменить(Подстрока, "DD", "D");
						КонецЕсли;
					КонецЕсли;
					ФорматнаяСтрока = ФорматнаяСтрока + ?(ФорматнаяСтрока = "", "", ";") + Подстрока;
				КонецЦикла;
				
				Элемент.Формат = ФорматнаяСтрока;
				Элемент.ФорматРедактирования = ФорматнаяСтрока;
			КонецЕсли;
		КонецЕсли;
		
		Если ОписаниеСвойства.Удалено Тогда
			Элемент.ЦветТекстаЗаголовка = ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет;
			Элемент.ШрифтЗаголовка = ШрифтыСтиля.ЗаголовокУдаленногоРеквизитаШрифт;
			Если Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
				Элемент.КнопкаОчистки = Истина;
				Элемент.КнопкаВыбора = Ложь;
				Элемент.КнопкаОткрытия = Ложь;
				Элемент.КнопкаВыпадающегоСписка = Ложь;
				Элемент.РедактированиеТекста = Ложь;
			КонецЕсли;
		КонецЕсли;
		
		Если НЕ ПоляНадписей И ОписаниеСвойства.ДополнительноеЗначение И Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
			ПараметрыВыбора = Новый Массив;
			ПараметрыВыбора.Добавить(Новый ПараметрВыбора("Отбор.Владелец",
				?(ЗначениеЗаполнено(ОписаниеСвойства.ВладелецДополнительныхЗначений),
					ОписаниеСвойства.ВладелецДополнительныхЗначений, ОписаниеСвойства.Свойство)));
			Элемент.ПараметрыВыбора = Новый ФиксированныйМассив(ПараметрыВыбора);
		КонецЕсли;
		
	КонецЦикла;
	
	// Установка видимости, доступности и обязательности заполнения дополнительных реквизитов.
	Для Каждого ОписаниеЗависимогоРеквизита Из Форма.Свойства_ОписаниеЗависимыхДополнительныхРеквизитов Цикл
		Если ОписаниеЗависимогоРеквизита.ВыводитьВВидеГиперссылки Тогда
			ОбрабатываемыйЭлемент = СтрЗаменить(ОписаниеЗависимогоРеквизита.ИмяРеквизитаЗначение, "ДополнительныйРеквизитЗначение_", "Группа_");
		Иначе
			ОбрабатываемыйЭлемент = ОписаниеЗависимогоРеквизита.ИмяРеквизитаЗначение;
		КонецЕсли;
		
		Если ОписаниеЗависимогоРеквизита.УсловиеДоступности <> Неопределено Тогда
			Результат = РезультатВычисленияУсловия(Форма, ОписаниеОбъекта, ОписаниеЗависимогоРеквизита.УсловиеДоступности);
			Элемент = Форма.Элементы[ОбрабатываемыйЭлемент]; // ПолеФормы
			Если Элемент.Доступность <> Результат Тогда
				Элемент.Доступность = Результат;
			КонецЕсли;
		КонецЕсли;
		Если ОписаниеЗависимогоРеквизита.УсловиеВидимости <> Неопределено Тогда
			Результат = РезультатВычисленияУсловия(Форма, ОписаниеОбъекта, ОписаниеЗависимогоРеквизита.УсловиеВидимости);
			Элемент = Форма.Элементы[ОбрабатываемыйЭлемент];
			Если Элемент.Видимость <> Результат Тогда
				Элемент.Видимость = Результат;
			КонецЕсли;
		КонецЕсли;
		Если ОписаниеЗависимогоРеквизита.УсловиеОбязательностиЗаполнения <> Неопределено Тогда
			Если Не ОписаниеЗависимогоРеквизита.ЗаполнятьОбязательно Тогда
				Продолжить;
			КонецЕсли;
			
			Результат = РезультатВычисленияУсловия(Форма, ОписаниеОбъекта, ОписаниеЗависимогоРеквизита.УсловиеОбязательностиЗаполнения);
			Элемент = Форма.Элементы[ОбрабатываемыйЭлемент];
			Если Не ОписаниеЗависимогоРеквизита.ВыводитьВВидеГиперссылки
				И Элемент.АвтоОтметкаНезаполненного <> Результат Тогда
				Элемент.АвтоОтметкаНезаполненного = Результат;
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
	
	Структура = Новый Структура("ПараметрыСвойств");
	ЗаполнитьЗначенияСвойств(Структура, Форма);
	Если ТипЗнч(Структура.ПараметрыСвойств) = Тип("Структура")
		И Структура.ПараметрыСвойств.Свойство("ВыполненаОтложеннаяИнициализация") Тогда
		Форма.ПараметрыСвойств.ВыполненаОтложеннаяИнициализация = Истина;
		// Удаление временной декорации, если она была добавлена.
		Если Форма.ПараметрыСвойств.Свойство("ДобавленаПустаяДекорация") Тогда
			Для Каждого ИмяДекорации Из Форма.ПараметрыСвойств.КоллекцияДекораций Цикл
				Форма.Элементы.Удалить(Форма.Элементы[ИмяДекорации]);
			КонецЦикла;
			Форма.ПараметрыСвойств.Удалить("ДобавленаПустаяДекорация");
		КонецЕсли;
	КонецЕсли;
	
КонецПроцедуры
// Возвращает заполненную таблицу значений свойств объекта.
Функция ЗначенияСвойств(ДополнительныеСвойстваОбъекта, Наборы, ЭтоДополнительноеСведение) Экспорт
	
	Если ДополнительныеСвойстваОбъекта.Количество() = 0 Тогда
		// Предварительная быстрая проверка использования дополнительных свойств.
		СвойстваНеНайдены = ДополнительныеРеквизитыИСведенияНеНайдены(Наборы, ЭтоДополнительноеСведение);
		
		Если СвойстваНеНайдены Тогда
			ОписаниеСвойств = Новый ТаблицаЗначений;
			ОписаниеСвойств.Колонки.Добавить("Набор");
			ОписаниеСвойств.Колонки.Добавить("Свойство");
			ОписаниеСвойств.Колонки.Добавить("ВладелецДополнительныхЗначений");
			ОписаниеСвойств.Колонки.Добавить("ЗаполнятьОбязательно");
			ОписаниеСвойств.Колонки.Добавить("Наименование");
			ОписаниеСвойств.Колонки.Добавить("ТипЗначения");
			ОписаниеСвойств.Колонки.Добавить("ФорматСвойства");
			ОписаниеСвойств.Колонки.Добавить("МногострочноеПолеВвода");
			ОписаниеСвойств.Колонки.Добавить("Удалено");
			ОписаниеСвойств.Колонки.Добавить("Значение");
			Возврат ОписаниеСвойств;
		КонецЕсли;
	КонецЕсли;
	
	Свойства = ДополнительныеСвойстваОбъекта.ВыгрузитьКолонку("Свойство");
	
	НаборыСвойств = Новый ТаблицаЗначений;
	
	НаборыСвойств.Колонки.Добавить(
		"Набор", Новый ОписаниеТипов("СправочникСсылка.НаборыДополнительныхРеквизитовИСведений"));
	
	НаборыСвойств.Колонки.Добавить(
		"ПорядокНабора", Новый ОписаниеТипов("Число"));
	
	Для каждого ЭлементСписка Из Наборы Цикл
		НоваяСтрока = НаборыСвойств.Добавить();
		НоваяСтрока.Набор         = ЭлементСписка.Значение;
		НоваяСтрока.ПорядокНабора = Наборы.Индекс(ЭлементСписка);
	КонецЦикла;
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Свойства",      Свойства);
	Запрос.УстановитьПараметр("НаборыСвойств", НаборыСвойств);
	Запрос.УстановитьПараметр("ЭтоОсновнойЯзык", ТекущийЯзык() = Метаданные.ОсновнойЯзык);
	Запрос.УстановитьПараметр("КодЯзыка", ТекущийЯзык().КодЯзыка);
	
	Запрос.Текст =
	"ВЫБРАТЬ
	|	НаборыСвойств.Набор КАК Набор,
	|	НаборыСвойств.ПорядокНабора КАК ПорядокНабора
	|ПОМЕСТИТЬ НаборыСвойств
	|ИЗ
	|	&НаборыСвойств КАК НаборыСвойств
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	НаборыСвойств.Набор КАК Набор,
	|	НаборыСвойств.ПорядокНабора КАК ПорядокНабора,
	|	СвойстваНаборов.Свойство КАК Свойство,
	|	СвойстваНаборов.ПометкаУдаления КАК ПометкаУдаления,
	|	СвойстваНаборов.НомерСтроки КАК ПорядокСвойства
	|ПОМЕСТИТЬ СвойстваНаборов
	|ИЗ
	|	НаборыСвойств КАК НаборыСвойств
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК СвойстваНаборов
	|		ПО (СвойстваНаборов.Ссылка = НаборыСвойств.Набор)
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК Свойства
	|		ПО (СвойстваНаборов.Свойство = Свойства.Ссылка)
	|ГДЕ
	|	НЕ СвойстваНаборов.ПометкаУдаления
	|	И НЕ Свойства.ПометкаУдаления
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	Свойства.Ссылка КАК Свойство
	|ПОМЕСТИТЬ ЗаполненныеСвойства
	|ИЗ
	|	ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК Свойства
	|ГДЕ
	|	Свойства.Ссылка В(&Свойства)
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СвойстваНаборов.Набор КАК Набор,
	|	СвойстваНаборов.ПорядокНабора КАК ПорядокНабора,
	|	СвойстваНаборов.Свойство КАК Свойство,
	|	СвойстваНаборов.ПорядокСвойства КАК ПорядокСвойства,
	|	СвойстваНаборов.ПометкаУдаления КАК Удалено
	|ПОМЕСТИТЬ ВсеСвойства
	|ИЗ
	|	СвойстваНаборов КАК СвойстваНаборов
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ЗНАЧЕНИЕ(Справочник.НаборыДополнительныхРеквизитовИСведений.ПустаяСсылка),
	|	0,
	|	ЗаполненныеСвойства.Свойство,
	|	0,
	|	ИСТИНА
	|ИЗ
	|	ЗаполненныеСвойства КАК ЗаполненныеСвойства
	|		ЛЕВОЕ СОЕДИНЕНИЕ СвойстваНаборов КАК СвойстваНаборов
	|		ПО ЗаполненныеСвойства.Свойство = СвойстваНаборов.Свойство
	|ГДЕ
	|	СвойстваНаборов.Свойство ЕСТЬ NULL
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ВсеСвойства.Набор КАК Набор,
	|	ВсеСвойства.Свойство КАК Свойство,
	|	ДополнительныеРеквизитыИСведения.ВладелецДополнительныхЗначений КАК ВладелецДополнительныхЗначений,
	|	ДополнительныеРеквизитыИСведения.ЗаполнятьОбязательно КАК ЗаполнятьОбязательно,
	|	ВЫБОР
	|		КОГДА &ЭтоОсновнойЯзык
	|			ТОГДА ДополнительныеРеквизитыИСведения.Заголовок
	|		ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.Заголовок, ДополнительныеРеквизитыИСведения.Заголовок) КАК СТРОКА(150))
	|	КОНЕЦ КАК Наименование,
	|	ДополнительныеРеквизитыИСведения.ТипЗначения КАК ТипЗначения,
	|	ДополнительныеРеквизитыИСведения.ФорматСвойства КАК ФорматСвойства,
	|	ДополнительныеРеквизитыИСведения.МногострочноеПолеВвода КАК МногострочноеПолеВвода,
	|	ВсеСвойства.Удалено КАК Удалено,
	|	ДополнительныеРеквизитыИСведения.Доступен КАК Доступен,
	|	ДополнительныеРеквизитыИСведения.Виден КАК Виден,
	|	ВЫБОР
	|		КОГДА &ЭтоОсновнойЯзык
	|			ТОГДА ДополнительныеРеквизитыИСведения.Подсказка
	|		ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.Подсказка, ДополнительныеРеквизитыИСведения.Подсказка) КАК СТРОКА(150))
	|	КОНЕЦ КАК Подсказка,
	|	ДополнительныеРеквизитыИСведения.ВыводитьВВидеГиперссылки КАК ВыводитьВВидеГиперссылки,
	|	ДополнительныеРеквизитыИСведения.ЗависимостиДополнительныхРеквизитов.(
	|		ЗависимоеСвойство КАК ЗависимоеСвойство,
	|		Реквизит КАК Реквизит,
	|		Условие КАК Условие,
	|		Значение КАК Значение,
	|		НаборСвойств КАК НаборСвойств
	|	) КАК ЗависимостиДополнительныхРеквизитов
	|ИЗ
	|	ВсеСвойства КАК ВсеСвойства
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
	|		ПО ВсеСвойства.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.Представления КАК СвойстваПредставления
	|		ПО (СвойстваПредставления.Ссылка = ДополнительныеРеквизитыИСведения.Ссылка)
	|			И (СвойстваПредставления.КодЯзыка = &КодЯзыка)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Удалено,
	|	ВсеСвойства.ПорядокНабора,
	|	ВсеСвойства.ПорядокСвойства";
	
	Если ЭтоДополнительноеСведение Тогда
		Запрос.Текст = СтрЗаменить(
			Запрос.Текст,
			"Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты",
			"Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения");
	КонецЕсли;
	
	ОписаниеСвойств = Запрос.Выполнить().Выгрузить();
	ОписаниеСвойств.Индексы.Добавить("Свойство");
	ОписаниеСвойств.Колонки.Добавить("Значение");
	
	// Удаление дублей свойств в нижестоящих наборах свойств.
	Если Наборы.Количество() > 1 Тогда
		Индекс = ОписаниеСвойств.Количество()-1;
		
		Пока Индекс >= 0 Цикл
			Строка = ОписаниеСвойств[Индекс];
			НайденнаяСтрока = ОписаниеСвойств.Найти(Строка.Свойство, "Свойство");
			
			Если НайденнаяСтрока <> Неопределено
			   И НайденнаяСтрока <> Строка Тогда
				
				ОписаниеСвойств.Удалить(Индекс);
			КонецЕсли;
			
			Индекс = Индекс-1;
		КонецЦикла;
	КонецЕсли;
	
	// {{ Prosto. [Silantev Oleg Sergeevich] - [26.09.2020 21:33].
	ИспользованныеСвойства = Новый Массив;
	// }} {{ Prosto. [Silantev Oleg Sergeevich] - [26.09.2020 21:33].
	
	// Заполнение значений свойств.
	Для Каждого Строка Из ДополнительныеСвойстваОбъекта Цикл
		ОписаниеСвойства = ОписаниеСвойств.Найти(Строка.Свойство, "Свойство");
		Если ОписаниеСвойства <> Неопределено Тогда
			// {{ Prosto. [Silantev Oleg Sergeevich] - [26.09.2020 21:34].
			Если ИспользованныеСвойства.Найти(ОписаниеСвойства.Свойство) = Неопределено Тогда
				ИспользованныеСвойства.Добавить(ОписаниеСвойства.Свойство) 
			Иначе
				НоваяСтрокаОписания = ОписаниеСвойств.Добавить();
				ЗаполнитьЗначенияСвойств(НоваяСтрокаОписания, ОписаниеСвойства);
				ОписаниеСвойства = НоваяСтрокаОписания;
			КонецЕсли;
			// }} {{ Prosto. [Silantev Oleg Sergeevich] - [26.09.2020 21:34].
			// Поддержка строк неограниченной длины.
			Если НЕ ЭтоДополнительноеСведение Тогда
				ИспользоватьСтрокуВВидеСсылки = ИспользоватьСтрокуВВидеСсылки(
					ОписаниеСвойства.ТипЗначения,
					ОписаниеСвойства.ВыводитьВВидеГиперссылки,
					ОписаниеСвойства.МногострочноеПолеВвода);
				ИспользоватьНеограниченнуюСтроку = ИспользоватьНеограниченнуюСтроку(
					ОписаниеСвойства.ТипЗначения,
					ОписаниеСвойства.МногострочноеПолеВвода);
				НеобходимоПеренестиЗначениеИзСсылки = НеобходимоПеренестиЗначениеИзСсылки(
						Строка.ТекстоваяСтрока,
						Строка.Значение);
				Если (ИспользоватьНеограниченнуюСтроку
						Или ИспользоватьСтрокуВВидеСсылки
						Или НеобходимоПеренестиЗначениеИзСсылки)
					И НЕ ПустаяСтрока(Строка.ТекстоваяСтрока) Тогда
					Если Не ИспользоватьСтрокуВВидеСсылки И НеобходимоПеренестиЗначениеИзСсылки Тогда
						ЗначениеБезСсылки = ЗначениеБезСсылки(Строка.ТекстоваяСтрока, Строка.Значение);
						ОписаниеСвойства.Значение = ЗначениеБезСсылки;
					Иначе
						ОписаниеСвойства.Значение = Строка.ТекстоваяСтрока;
					КонецЕсли;
				Иначе
					ОписаниеСвойства.Значение = Строка.Значение;
				КонецЕсли;
			Иначе
				ОписаниеСвойства.Значение = Строка.Значение;
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
	
	Возврат ОписаниеСвойств;
	
КонецФункции

Работа в примерах была осуществлена с версией БСП: 3.1.2.245

Источники

Как подключить дополнительные реквизиты к справочнику или документу в БСП 2.3

Создание множественного дополнительного реквизита. Управление торговлей 11

В этой статье мы рассмотрим, как работают цены номенклатуры в 1С, какие бывают типы цен и как их правильно настроить, чтобы работать было просто и удобно.

Замечу, что хотя в статье мы рассматриваем конфигурацию «Управление торговлей 11.3», информация, полученная в статье легко применима для любой другой современной конфигурации, т.к. цены номенклатуры везде работают по схожему принципу.

Первоначальные настройки системы

Зайдите в «НСИ и Администрирование» — «Настройки НСИ и разделов» — «CRM и маркетинг»:

CRM и маркетинг 1С

Расположение настроек «CRM и маркетинг»

Здесь нас интересует всего один флажок: «Несколько видов цен». Устанавливаем его, чтобы получить доступ к настройкам цен номенклатуры:

Несколько видов цен в 1С

Несколько видов цен

Виды цен номенклатуры

Перейдем в раздел «CRM и маркетинг» — «Настройки и справочники»:

Настройки и справочники

Настройки и справочники

Откроем «Виды цен»:

Виды цен 1С

Виды цен

Создание нового вида цены номенклатуры

В открывшемся списке нажмем «Создать»:

Создать новый вид цены номенклатуры в 1С

Создать вид цен

В открывшемся окне заполним основные настройки:

Новый вид цен 1С

Новый вид цен

Рассмотрим каждое поле настроек в отдельности

Обратите внимание, что некоторых полей у вас может не быть. Например, у вас не будет поля «Валюта», если в системе не включен учет по нескольким валютам. Если у себя не видите какое-то поле, значит оно уже заполнено единственным значением, которое есть в базе, и делать ничего дополнительно не нужно.

«Наименование» — произвольное название вашей цены.

«Статус» — имеет всего 2 варианта «Действует» и «Не действует». Если установить «Не действует», то данный вид цены нельзя будет выбирать в соглашениях и документах. Т.е. при создании нового типа цен всегда ставим «Действует» и меняем статус только если решили больше не пользоваться данными видом цен.

«Идентификатор для формул» — заполняется автоматически, ничего менять в нем не надо. Используется для формул, о которых у нас будет отдельная статья.

«Группа» — папка, в которой будет лежать данный вид цены. Создать новую группу можно в списке цен, нажав «Создать группу». Делать это имеет смысл, если у вас будет очень много видов цен и в обычном списке будет трудно ориентироваться.

Создать группу видов цен 1С

Создать группу видов цен

«Валюта» — валюта, в которой указываются цены.

«Цена включает НДС» — включен ли в цену НДС или его надо начислять «сверху».

Раздел «Использовать»

«При продаже клиентам» — данная цена будет использоваться в заказах клиентов, реализациях, коммерческих предложениях и т.п. По этой цене вы сможете продать товар конечному покупателю.

«При вводе на основании документов поставки» — установите этот флажок, если собираетесь изменять цену на товары на основании поступления товаров.

Как работает флажок «При вводе на основании документов поставки»:

Если флажок установлен, то при вводе документа «Установка цен номенклатуры» на основании поступления, в установку цен будет автоматически добавлена наша цена:

Установка цен номенклатуры на основании поступления 1С

Установка цен номенклатуры на основании поступления

В документе сразу есть колонка с нашей ценой:

Установка цен номенклатуры в 1С

Установка цен номенклатуры

Если флажок не установить, то цена автоматически в документ не попадет, но ее можно легко добавить, нажав «Перейти к изменению состава видов цен»:

Перейти к изменению состава видов цен 1С

Перейти к изменению состава видов цен

В этом окне выделяем нужную цену и продолжаем работать с документом, нажав «Перейти к установке цен»:

Перейти к установке цен 1С

Перейти к установке цен

Как видите, флажок «При вводе на основании документов поставки» нужен исключительно для вашего удобства и не является чем-то очень важным.

«При передаче между организациями» — устанавливайте этот флажок, если вы используете продажи между собственными фирмами (т.н. интеркампани») и собираетесь по создаваемой цене продавать товар собственной организации.

«Способ задания цены» — имеет 3 значения: «Ручное назначение», «Наценка на другой вид цены» и «Наценка на цену поступления». Рассмотрим каждый из них.

Ручное назначение

Самый простой и распространенный способ. Чтобы изменить цену, вам надо указать новую цену вручную. Минус этого типа цены: его нельзя на основании чего-либо рассчитать. Плюс: он полностью автономен, вы можете заполнять его так, как считаете нужным.

Наценка на другой вид цены

Данный способ позволяет автоматически рассчитывать цену по данным другой цены. При выборе этого варианта появляется 2 новых поля: «Базовый вид цены» и «Наценка»:

Наценка на другой вид цен 1С

Наценка на другой вид цен

«Базовый вид цены» — цена, на которую будем осуществлять наценку. Выбранная цена, кстати, не обязательно должна иметь способ задания цены «Ручное назначение». Эта цена может также быть наценкой на другой тип цен.

Пример: у вас есть цена «Дилерская», она назначается вручную. Есть цена «Оптовая», которая является наценкой на Дилерскую (наценка 10%). И есть цена «Розничная», которая является наценкой на Оптовую еще на 10%. Такая схема будет корректно работать. Только имейте ввиду, что в описанном примере Розничная будет не на 20% больше Дилерской, а на 21% (100р+ 10% = 110р; 110р+10% = 121р). Если хотите сделать ровно 20%, то делайте для розничной цены наценку 20% на Дилерскую цену.

«Наценка» — процент наценки на базовый вид цены. Можно указать отрицательный процент, тогда будет не наценка, а скидка. Такой вариант подойдет вам, если, например, розничную цену вы назначаете вручную, а оптовая цена — это скидка 5% на розничную. Тогда указывайте Базовый вид цены — «розничная», а наценку — «-5%».

Наценка на цену поступления

Этот вариант подходит вам, если после каждого поступления товаров вы меняете данную цену. Обычно используется вместе с флажком «При вводе на основании документов поставки», описанным выше.

При выборе данного способа задания цены номенклатуры у вас появится новое поле «наценка на цену поступления». Тут принцип тот же, что и в наценке на другой вид цены, только в качестве другого вида цены выступает цена, указанная в поступлении (цена закупки):

Наценка на цену поступления 1С

Наценка на цену поступления

Со способами задания цены номенклатуры разобрались, переходим к следующим полям.

«Точность округления» — в этом поле указывается, до скольких рублей (или копеек) должна округляться цена. Поле нужно для того, чтобы у вас не появилось цены вроде 10 456,43р.

«Вариант округления» — имеет три значения «По арифметическим правилам», «Всегда в пользу клиента», «Всегда в пользу предприятия».

Рассмотрим на небольшом примере:

У вас есть 2 товара, «Товар 1» стоит 114р, а «Товар 2» стоит 115р. Мы выбрали точность округления «10,00». При варианте округления «По арифметическим правилам» Товар 1 будет стоит 110р, а Товар 2 — 120р. При варианте «Всегда в пользу клиента» оба товара будут стоить 110р. При варианте «Всегда в пользу предприятия» оба товара будут стоить 120р.

Если вы дочитали до этого абзаца, можете считать, что вы уже умеете настраивать цены номенклатуры в 1С. Описанного функционала обычно хватает большинству предприятий, но для продвинутых пользователей есть расширенные настройки. Давайте их тоже рассмотрим.

Чтобы перейти к расширенным настройкам, нажмите на гиперссылку «Использовать полные возможности»

Использовать полные возможности 1С

Использовать полные возможности

Почти все поля, которые мы ранее рассмотрели, окажутся на закладке «Основное»:

Закладка "Основное"

Закладка «Основное»

Единственное отличие тут: в способе задания цены появились 2 новых значения: «Произвольная формула от других видов цен» и «Произвольный запрос к данным ИБ». Рассмотрим каждый из них

«Произвольная формула от других видов цен» — при выборе этого варианта, появляется поле «Формула» и кнопка «Проверить формулы»

Произвольная формула от других видов цен 1С

Произвольная формула от других видов цен

Как работать с формулами рассмотрим в отдельной статье, т.к. это уже почти программирование. Вкратце, там можно взять любой тип цен и что-нибудь с ним сделать (вычесть, умножить, разделить, округлить или даже сравнить с другим типом цен и по результату сравнения изменить формулу расчета). В формулах используется «Идентификатор для формул», о котором было написано выше.

«Произвольный запрос к данным ИБ» — ИБ — это Информационная База, т.е. запрос к данным в вашей 1С. При выборе этого варианта, на форме появится поле «Схема компоновки данных» и кнопка «Редактировать»:

Произвольный запрос к данным ИБ

Произвольный запрос к данным ИБ

«Схема компоновки данных» — В базе уже есть созданные по умолчанию схемы компоновки данных, которые вы можете использовать. Рассматривать каждую в отдельности большого смысла нет, т.к. по названию понятно, какие данные получает каждая схема:

Схемы компоновки данных цен номенклатуры 1С

Схемы компоновки данных цен номенклатуры

Отдельно становимся на варианте «Произвольный». В этом варианте возможности настроек вообще ничем не ограничены, но тут уже не «почти программирование», а самое настоящее программирование через Схему Компоновки Данных. Если вы программист, то проблем у вас возникнуть не должно. Остальным читателям я рекомендую обратиться за помощью к нам.

Если какая-то из выбранных вами схем не выдает нужных цен, скорее всего в базе не указаны соответствующие данные (цены конкурентов, цены поставщиков и т.п.).

«Редактировать» — по этой кнопке вы можете добавить произвольные отборы в выбранную схему компоновки данных. Например, учитывать цены не всех поставщиков, а только некоторых:

Отбор в схеме компоновки данных

Отбор в схеме компоновки данных

Уточнение по ценовым группам

Если вы используете ценовые группы, то вы можете указать разные проценты наценки для каждой группы:

Уточнение по ценовым группам

Уточнение по ценовым группам

Если вы не указали какую-то группу, то для нее используется наценка по умолчанию, указанная на закладке «Основное».

Пример:

Для цены номенклатуры «Розничная новая» мы установили наценку на цену поступления 100%. При этом в уточнении по ценовым группам мы указали, что наценка на бытовую технику 75%, а на продукты — 150%.

Теперь давайте закупим 3 товара из разных ценовых групп и на основании закупки создадим установку цен.

Закупка 3х товаров

Закупка 3х товаров

Я создал поступление на 3 товара, каждый из которых относится к своей ценовой группе. Товар Продукты — к группе «Продукты», Товар Бытовая техника — к «Бытовой технике» и Товар мебель — к «мебели». Цена у всех товаров 1000р.

Теперь создадим установку цен на основании поступления и посмотрим, что получилось:

Наценка

Наценка

На «Товар Продукты» наценка 150%, как мы и указывали ранее, на «Товар Бытовая техника» наценка 75%, что тоже было нами указано. «Товар мебель», ценовая группа которого не указана в уточнении по ценовым группам, получил стандартную наценку 100%.

Если функционала ценовых групп недостаточно, у нас есть расширение Разная наценка на разные группы товаров в 1С

Перейдем к следующей закладке.

Правила округления цен

На данной закладке можно указать разные способы округления для разных цен. Обычно используется для того, чтобы недорогие товары (например, до 1000р, округлять до десятков рублей, а более дорогие товары до сотен рублей).

Правила округления цен номенклатуры

Правила округления цен

Давайте рассмотрим каждое поле в отдельности

«Нижняя граница» — нижняя граница ценового диапазона. Верхняя граница определяется автоматически, по нижней границе следующей строки.

«Ценовой диапазон» — автоматически вычисляемое значение между нижней и верхней границей. Вручную изменить нельзя

«Точность округления» — аналог поля «Точность округления» в упрощенных возможностях настройки.

«Вычитать из результата» — поле, позволяющее уменьшить цену на определенное значение. Например, вычесть 10р. Оно нужно, если вы хотите товар за 15 000р продавать за 14 990р. Для этого округляете цену до 1000, и вычитаете 10р из цены.

«Пример» — колонка, показывающая, что получится в результате.

Удобнее всего строку заполнять через кнопку «Конструктор округления»:

Кнопка Конструктор округления

Кнопка «Конструктор округления»

В конструкторе можно подставить нужную цену и посмотреть, что получится:

Конструктор округления

Конструктор округления

После настройки этой закладки, все указанные диапазоны цен будут округляться по правилам, заполненным на этой закладке. При этом цены, которые не попадают ни в один диапазон, округляться не будут вообще.

Пример:

Я не заполнил в настройках диапазон от 0 до 10р:

Без диапазона до 10р

Без диапазона до 10р

Закупил товар по 3р:

Товар по 3р

Товар по 3р

Сделал установку цен:

Цена 7.5р

Цена 7.5р

К цене прибавились 150%, но округления не произошло, потому что 7.5р меньше нижней границы первого диапазона (10р). Учитывайте это при работе.

Перейдем к следующей закладке.

Пороги срабатывания

«Порог срабатывания» — это процент отклонения новой цены от старой, при котором имеет смысл менять цену.

Пример: Вы меняете цену на товар после каждого поступления на основании цены поставщика. Но иногда цена поставщика меняется настолько незначительно, что менять свои цены номенклатуры не имеет смысла. Например, вы считаете, что если цена товара изменилась меньше, чем на 1%, то вы больше денег потратите на распечатку ценников, чем заработаете на этом изменении. Для таких случаев и используется порог срабатывания.

Порог можно указать как общий для всех товаров, так и разделить его по ценовым группам:

Пороги срабатывания цен номенклатуры 1с

Пороги срабатывания

Давайте рассмотрим на примере:

Ранее мы с вами уже купили 3 товара по 1000р и установили для них цены.

Давайте купим еще раз эти 3 товара, но чуть дороже (можно купить чуть дешевле, там работать это будет так же):

Итак, старые цены у нас такие:

Старые цены

Старые цены

Закупаем эти же товары, но на 5% дороже

На 5% дороже

На 5% дороже

Создадим новую установку цен номенклатуры:

Новая цена

Новая цена

Как видите, цена изменилась только у «Товар Продукты», потому что у его ценовой группы порог срабатывания 5%. Остальные 2 товара, для которых цена изменилась меньше, чем на порог срабатывания, остались без изменений.

На этом все, надеюсь, статья была полезна для вас, и вы научились настраивать цены номенклатуры в 1С. Если есть какие-то вопросы, я могу ответить на них в комментариях.

Обновлено: 22.03.2023

Создаю категорию с указанием использования общих характеристик и значения единицы измерения по умолчанию.

Дополнительные реквизиты

Хранятся в «ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения».

В элементе указывается набор «НаборСвойств» в от которого был создан. При использовании информация о принадлежности берется из ТЧ «ДополнительныеРеквизиты» спр. «НаборыДополнительныхРеквизитовИСведений».

На форме пользователь видит «Наименование», по факту заполняется «Заголовок»

Для коррекной работы кроме наименования нужно заполнить

  • тип данных
  • идентификатор для формул
  • Имя (Требуется для программного обращения к дополнительным реквизитам и сведениям. Аналог имени обычного реквизита.)

Заполнение идентификатора происходит на форме

«Имя» заполняется в модуле объекта в процедуре «ПередЗаписью()»

Пример создания с типом «Дополнительное значение». Реквизиты «Доступен», «Виден» используются для управлением отображением в форме элемента спр. «Характерисики».

Значения дополнительных реквизитов

Хранятся в справочнике «ЗначенияСвойствОбъектов» с владельцем «ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения»

Характеристики номенклатуры

Характеристики могут быть привязаны к:

  • спр. КатегорииНоменклатуры, можно выбирать в документах для любой номенклатцры в рамках категории.
  • спр. Номенклатура, можно выбирать в документах для номенклатуры владельца

Выбор харктеристик сделан через «нестандартную» форму выбора с фильтром, относительно неудобная для пользователей.

Создаем характеристику общую для категории, добавляем в нее значение доп реквизита

Для формирования наимменования из значений доп. реквизитов можно использовать функцию

В структуре данных по доп реквизитам в УНФ есть своя специфика, учитывая которую можно программно создавать элементы для последующего использования.

Благодарю за внимание.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

(0) в первой картинке — в схеме — укажите, пож-та, что есть «справочник», а что есть «регистр сведений» и «план видов характеристик»?

Что за задачу решаете? Пример приведите пож-та.

(1) по схеме хорошо, поправлю, может получится в UML отрисовать.

(1) Схему обновил. Отрисовал ассоциациями, пока не силен в применениии связей между классами.

`На форме пользователь видит «Наименование», по факту заполняется «Заголовок»`- не понятно где найти эту форму, если я делаю обработку создания характеристик

(4)С формой «Наименование» разобрался .
Процедура или функция с указанным именем не определена (ЗаголовокДляФормированияИдентификатора) — подскажите где находится эта процедура?
Спасибо тебе, золотой ты человек! Статья очень ускорила процесс создания обработки!

Просмотры 2087

Загрузки 0

Рейтинг 16

Создание 29.10.20 18:00

Обновление 29.10.20 18:00

№ Публикации 1315909

Тип файла Нет файла

Операционная система Не имеет значения

Вид учета Не имеет значения

Доступ к файлу Бесплатно (free)

Код открыт Да

См. также

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020 4539 Eugen-S 23

Что за ? в коде, или Секретный оператор в 1С

Инкремент, модуль и прочая магия, которая скрыта под символом «?»

21.10.2021 8331 SeiOkami 41

Обзор полезных методов БСП 3.1.4. Часть 2

Библиотека стандартных подсистем (далее — БСП) является частью любой типовой конфигурации, поэтому умение применять готовые процедуры и функции повышает качество разработки и избавляет от написания лишнего кода. К сожалению, не у всех есть время и упорство овладеть всей документацией, поэтому я собрал воедино наиболее популярный функционал.

27.04.2021 16180 rayastar 7

Полезные примеры СКД, ч.2

Еще несколько примеров решения задач в СКД.

06.04.2021 10843 Neti 8

27.01.2016 85811 Serginio 116

Обзор полезных методов БСП 3.1.4

Библиотека стандартных подсистем (далее — БСП) является частью любой типовой конфигурации, поэтому умение применять готовые процедуры и функции повышает качество разработки и избавляет от написания лишнего кода. К сожалению, не у всех есть время и упорство овладеть всей документацией, поэтому я собрал воедино наиболее популярный функционал.

25.03.2021 41196 rayastar 51

Звуковое управление в 1С 8.3

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021 7221 velemir 33

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

«Я не могу просто взять и скопировать код с гитхаба», «у нас 1С микросервисами окружена», «возможностей мало» — частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще — берём и используем.

28.12.2020 8940 comol 31

Использование программных перечислений, ч.1: строковые константы Промо

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016 41147 unichkin 74

Базовые вещи БСП, которые облегчат жизнь программисту 1С

В данной публикации я опишу полезные процедуры и функции модуля общего назначения библиотеки стандартных подсистем, обязательные к использованию любым программистом 1С.

30.08.2020 20351 quazare 34

Форма выбора (подбор) в управляемых формах

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020 79177 user5300 19

Полезные функции БСП (Часть 2)

Список полезных функций из состава Библиотеки стандартных подсистем 3.1.

10.03.2020 20925 user5300 20

Вспомогательные инструкции в коде 1С Промо

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018 36186 tormozit 106

Программная работа с настройками СКД

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020 66071 ids79 26

[СКД] Программное создание схемы компоновки данных

Сделаем отчет на СКД полностью программно, без использования макета «схема компоновки данных».

15.01.2020 43874 John_d 22

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

30.12.2019 35574 kuzyara 38

Оформление и рефакторинг сложных логических выражений Промо

В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.

20.09.2012 82904 tormozit 131

Сходство Джаро — Винклера. Нечеткое сравнение строк

В области информатики и статистики сходство Джаро — Винклера представляет собой меру схожести строк для измерения расстояния между двумя последовательностями символов. В публикации рассмотрены некоторые особенности алгоритма, и представлен вариант его реализации на языке 1С.

25.12.2019 8459 brooho 19

Шпаргалка (БСП). Добавление в новый документ механизма печати дополнительных печатных форм

Постоянно приходится вспоминать, как добавить механизм печати (БСП) в новый документ. Поэтому решил написать шпаргалку.

10.10.2019 30357 John_d 20

Полезные процедуры и функции для программиста

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

07.10.2019 39828 HostHost 41

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007 54494 tormozit 51

Таблица значений. Нюансы

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019 53273 Yashazz 56

[Шпаргалка] Программное создание элементов формы

Программное создание практически всех популярных элементов формы.

06.09.2019 103099 rpgshnik 75

Агрегатные функции СКД, о которых мало кто знает

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019 78071 ids79 56

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017 51271 tormozit 74

Регистры бухгалтерии. Общая информация

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019 46794 YPermitin 25

Три костыля. Сказ про фокусы в коде

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019 30249 YPermitin 81

Иерархия без «В ИЕРАРХИИ»

22.08.2019 15093 ildarovich 24

Выгрузка документа по условию Промо

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий. А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019 18042 m-rv 3

Отслеживание выполнения фонового задания

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019 45331 ids79 22

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019 153122 ids79 75

Фоновое выполнение кода в 1С — это просто

Как легко запускать выполнение в фоне, не прибегая к долгому описанию фоновых процедур.

02.08.2019 61050 avalakh 27

Как прикрутить ГУИД к регистру сведений Промо

. и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019 23360 m-rv 18

Разбираемся с параметрами редактирования СКД

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019 42031 json 17

СКД — наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019 106143 ids79 17

Обработчики событий при записи объектов. Зачем и что за чем?

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта. Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

Итак, давайте на примере посмотрим какие конкретно возможности предоставляет 1С ЗУП. Условия примера будут такими. В организации сотрудники подразделения в течении месяца могут на определенное количество дней привлекаться к работе на другом участке производства. Каждый участок предполагает свою месячную тарифную ставку. Расчет на каждом участке осуществляется пропорционально отработанному времени. В качестве данных для расчета примера будем использовать следующую таблицу.

Создание нового вида расчета в 1С ЗУП

Для реализации автоматизации расчета этой схемы начисления зарплаты нам необходимо создать новый вид расчета. Открываем для этого список «Основных начислений организации». Создадим новый элемент. В открывшейся форме установим в активное положение переключатель «Первичное начисление», поскольку данный вид расчета от других начислений не зависит. Далее в группе настроек «Способ расчета» установим значение «Произвольная формула расчета» и после этого по ссылке «Редактировать формулу расчета» переходим в окно редактирования:

Теперь необходимо в открывшемся окне задать формулу, по которой будут рассчитываться начисления по этому виду расчета. Формула будет иметь следующий вид:

(ТарифнаяСтавкаМесячная / НормаВремениВДнях * (ВремяВДнях – ДнейНаУчастке1 – ДнейНаУчастке2)) + ОкладНаУчастке1 / НормаВремениВДнях * ДнейНаУчастке1 + ОкладНаУчастке2 / НормаВремениВДнях * ДнейНаУчастке2

Поясню эту формулу. НормаВремениЗаМесяцВДнях – это показатель предопределенный разработчиками. Он возвращает норму времени в дня, установленную по графику текущего сотрудника. Например, в Сентябре 2014 года для графика Пятидневка это 22 дня. ТарифнаяСтавкаМесячная – также показатель предопределенный. Его значение будет устанавливаться при приеме сотрудника на работу, либо при изменении условий оплаты документом «Кадровое перемещение».

Создание собственных показателей

ОкладНаУчастке… — 2 показателя, которые являются условно постоянными. Их нужно добавить. Для этого в открытой ранее форме, в нижней её части следует нажать на ссылку «Добавить показатель». Указываем наименование, в поле «Вид показателя» денежный, в поле «Назначение показателя» установим «Для всей компании (организации)», а поле «Порядок ввода показателя» установится автоматически в значение «Периодически». Наиболее интересным полем здесь является «Назначение показателя». Также оно может принимать значение «Для подразделения» и «Для сотрудника». О последнем мы поговорим чуть ниже, а о том в каких случаях можно использовать показатель для подразделения можете почитать в статье Произвольные формулы видов расчета в 1С ЗиУП: использование собственных показателей для расчета зарплаты. Таким образом создаем 2 показатель по количеству участков.

ДнейНаУчастке… — 2 показателя, которые будут вводиться расчетчиком ежемесячно для каждого сотрудника, если сотрудник работал на участках. Создадим эти показатели. Заполним поля формы при создании следующим образом:

  • Вид показателя – числовой;
  • Назначение показателя – для сотрудника;
  • Порядок ввода показателя – ежемесячно перед расчетом зарплаты.

Создадим 2 таких показателя по количеству участков.

Теперь вводим формулу в поле, которое расположено в верхней части окна. Ещё раз напомню формулу:

(ТарифнаяСтавкаМесячная / НормаВремениВДнях * (ВремяВДнях – ДнейНаУчастке1 – ДнейНаУчастке2)) + ОкладНаУчастке1 / НормаВремениВДнях * ДнейНаУчастке1 + ОкладНаУчастке2 / НормаВремениВДнях * ДнейНаУчастке2

Сохраняем эту формулу.

Далее необходимо перейти на закладку «Время» в создаваемом виде расчетов и установить в активное положение переключатель «Начисление за работу полную смену в пределах нормы времени». А в поле «Вид времени по классификатору…» указать «Явка».

Теперь сохраняем этот вид расчета.

Ввод значений для созданных показателей

Теперь давайте введем значения для созданных показателей. Вначале введем сведения для показателей ОкладНаУчастке1 и ОкладНаУчастке2. Для этого откроем сервис «Показатели расчета заработной платы». Доступ к нем можно получить на закладке «Расчет зарплаты» главного меню программы в левой колонке ссылок, внизу. В открывшемся окне переходим на закладку «Постоянные», устанавливаем переключатель «Данные по организации», выбираем организацию и добавляем значения для двух наших показателей.

Теперь переходим на закладку «Ежемесячные». Здесь будут вводиться расчетчиком ежемесячные показатели о количестве отработанных часов на участках. Указываем период, устанавливаем режим ввода «Данные по сотрудникам» (пример с показателями по подразделениям смотрите тут). Далее выбираем удобный способ ввода: по сотрудникам или по показателям и вводим значения.

Вот собственно и всё. Теперь можно создавать документ «Начисление зарплаты сотрудникам организации», заполнять этими сотрудниками и рассчитывать зарплату.

В заключение отмечу ещё ряд публикаций на тему работы с произвольными формулами в 1С ЗУП:

Читайте также:

      

  • Программа которая фотографирует при неправильном вводе пароля для андроид
  •   

  • 1с увеличить число на 1
  •   

  • Программа для записи клиентов на айфон
  •   

  • Программы для андроид самсунг таб 3
  •   

  • Метод пассивного поиска в excel

Понравилась статья? Поделить с друзьями:
  • Замена крестовины газель бизнес без стопорных колец
  • Идеологические компании в послевоенное время кратко
  • Если я уволюсь с работы во время декретного отпуска
  • Замена масла гидроусилителя руля газель бизнес 4216
  • Избирательная комиссия ростовской области реквизиты