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