Готовишься к экзамену?
Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.
В конфигураторе 1С, в окне редактирования объекта (например, документа), когда становится доступной кнопка/пункт меню «Конструктор ввода на основании» для настройки заполнения нового документа по данным документа-основания (в том числе при доработке «Ведомости в кассу»)?
Нужно указать хотя бы один объект в списке «Вводится на основании» (то есть задать документ-основание)
Правильно: конструктор «ввода на основании» запускается, когда для текущего объекта задан режим «вводится на основании» - в его свойствах на вкладке «Ввод на основании» должен быть выбран хотя бы один объект-основание. Тогда появляется возможность настроить правила переноса реквизитов и табличных частей, и в модуле объекта формируется обработчик заполнения при создании «на основании».
Нужно заполнить оба списка: «Является основанием для» и «Вводится на основании»
Неправильно: для доступности конструктора важно, чтобы текущий объект мог создаваться на основании другого (задан список «Вводится на основании»). Список «Является основанием для» отвечает за то, какие документы пользователю предложат создавать из текущего по кнопке «Создать на основании», но сам факт доступности конструктора этим не определяется.
Достаточно заполнить только список «Является основанием для» (указать, что из этого объекта можно создавать другие)
Неправильно: если у текущего объекта не задано, что он «вводится на основании» других объектов, то конструктор заполнения «при вводе на основании» не к чему применять - настраивать правила переноса данных из основания в создаваемый объект нельзя, поэтому кнопка/пункт конструктора не активируется.
Пояснение
Как это связано с автоматическим заполнением «Ведомости в кассу» и почему это важно разработчику:
1) Что делает «ввод на основании»
- Это механизм, когда новый документ создается «на основании» уже существующего (документа-основания), а часть реквизитов и/или табличных частей переносится автоматически.
- Конструктор ввода на основании позволяет визуально описать правила переноса: какие реквизиты копировать, как заполнить строки, какие выражения использовать. Результат обычно оформляется как обработчик заполнения в модуле объекта создаваемого документа.
2) Почему без «Вводится на основании» конструктор не включится
- Конструктор настраивает именно заполнение создаваемого объекта «из основания». Если в свойствах объекта не указано, из каких объектов он может вводиться, то не определено «откуда брать данные», и запуск конструктора становится недоступен.
3) Практический пример для «Ведомости в кассу»
Представим, что вы хотите, чтобы «Ведомость в кассу» создавалась на основании документа расчета/начисления (или другого документа, который в вашей конфигурации является источником данных по выплатам). Тогда типичный путь такой:
- В метаданных документа «ВедомостьВКассу» на вкладке «Ввод на основании» в списке «Вводится на основании» отмечаете документ(ы)-источники.
- После этого становится активен конструктор. В нем можно задать:
- перенос реквизитов шапки (Организация, Месяц выплаты/Период, Подразделение, Ответственный и т. п.);
- правила подготовки табличной части «Сотрудники/Выплаты»: например, заполнить ее не простым копированием, а по выражениям или через процедуру, которая рассчитает суммы к выдаче.
4) Лучшие практики, чтобы «Ведомость в кассу» заполнялась предсказуемо
- Разделяйте два сценария:
- «Создать на основании» (создание ведомости из документа-основания с переносом ключевых реквизитов);
- «Заполнить» внутри ведомости (подбор сотрудников и сумм к выплате по данным учета задолженности/взаиморасчетов).
- Если дорабатываете заполнение табличной части, переносите из основания только то, что должно быть одинаковым (организация, период, разрезы учета), а суммы и список сотрудников формируйте алгоритмом, который учитывает:
- способ выплаты (касса/банк);
- уже оформленные выплаты (чтобы не задвоить выдачу);
- отборы по подразделению/категории персонала при необходимости.
- Для сложного заполнения обычно удобнее: из конструктора создать «каркас» правил (передача реквизитов), а затем дописать обработку табличной части программно (например, через запрос по задолженности и настройкам выплаты).
5) Быстрый чек-лист, если пользователи жалуются, что ведомость «не заполняется»
- Проверьте, есть ли рассчитанные суммы к выплате за период (иначе нечего подбирать).
- Проверьте настройки способа выплаты у сотрудников (касса vs банк).
- Убедитесь, что нет уже проведенных документов выплаты, которые закрыли задолженность.
- Если создаете ведомость «на основании», убедитесь, что реквизиты-отборы (организация/период) корректно переносятся из основания - иначе подбор по кнопке «Заполнить» может дать пустой результат из-за неверных параметров.