Предзаполнение документов в 1С (шпаргалка)

11.02.26

Разработка - Инструментарий разработчика

Довольно удобный метод, который помогает предзаполнить документ.

Была проблема: метод с сайта ИТС (https://its.1c.ru/db/metod8dev/content/4148/hdoc) для некоторых документов работал, для некоторых — нет. Параметры передавались правильно, в отладке было видно, что они заполняются, но при открытии формы ничего не появлялось. Вот так он выглядит (для тех, у кого нет доступа):

ЭлементыОтбора = Новый Структура("Поставщик, Склад", СсылкаНаПоставщика, СсылкаНаСклад);
ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЭлементыОтбора);
ОткрытьФорму("Документ.Накладная.ФормаОбъекта", ПараметрыФормы);

Коротко о сути данного метода:

В параметрах формы есть встроенная структура "ЗначенияЗаполнения", в которую можно помещать другие структуры. Они выглядят так: Ключ = "ИмяРеквизита"Значение = "ЗначениеРеквизита".

Разбираться и проверять, почему где-то всё нормально заполняется, а где-то нет, не стал. Начал искать другой способ, но быстро найти не получилось. Решил воспользоваться методом "ПолучитьФорму()" и, заполнив её, просто открыть. Этот метод позволяет предзаполнить как реквизиты объекта, так и реквизиты, созданные на форме.

1. Получаем нужную нам форму (на примере документа "РаботаВВыходныеИПраздничныеДни"):

ФормаДокумента = ПолучитьФорму("Документ.РаботаВВыходныеИПраздничныеДни.ФормаОбъекта");



2. Здесь, помимо параметров формы, мы видим реквизиты, созданные на форме, например "ВремяВЧасах". Чтобы присвоить данному реквизиту нужное значение, просто приравниваем его к тому, что нужно:

ФормаДокумента.ВремяВЧасах = 1;

 

3. Далее, чтобы заполнить реквизиты объекта, используем:

ФормаДокумента.Объект.ИмяНужногоРеквизита =  НашеНовоеЗначение;


Табличные части заполняются как обычно: выбираем табличную часть и используем метод "Добавить()". Например:

НСтр = ФормаДокумента.Объект.Сотрудники.Добавить();
НСтр.Сотрудник = НашеЗначение;


4. После всех изменений используем метод "Открыть()":

ФормаДокумента.Открыть();

 

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

Вступайте в нашу телеграмм-группу Инфостарт

1С:Предприятие шпаргалка открытый код инструмент разработчика программирование задача изменение документа заполнение предзаполнение ИБ памятка начинающий программист обучение

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    264901    1477    421    

1175

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    73028    370    170    

320

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    39411    111    48    

125

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    60240    124    36    

134

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    7398    31    42    

45

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    26034    97    46    

104

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    4391    16    1    

20

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2295    6    0    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. EvgeniyOlxovskiy 111 11.02.26 09:39 Сейчас в теме
Метод "ПолучитьФорму" фирма 1С не рекомендует использовать
https://its.1c.ru/db/v8std/content/404/hdoc
manul1c; InFlach; +2 Ответить
2. InFlach 101 11.02.26 09:55 Сейчас в теме
(1) Честно говоря, довольно странные рекомендации от ИТС:

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

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

Что касается метода ОткрытьФорму(), который ИТС говорят использовать, описал в статье почему пришлось искать альтернативу и оказалась данная альтернатива довольно надежной, как минимум, если нужно предзаполнять еще не записанный докумет
EvgeniyOlxovskiy; +1 Ответить
3. koln 11.02.26 10:15 Сейчас в теме
В конструкции
ЭлементыОтбора = Новый Структура("Поставщик, Склад", СсылкаНаПоставщика, СсылкаНаСклад);
ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", ЭлементыОтбора);
ОткрытьФорму("Документ.Накладная.ФормаОбъекта", ПараметрыФормы);

Ключ
ЗначенияЗаполнения
это, по сути, параметр
ДанныеЗаполнения
обработчика
ОбработкаЗаполнения
модуля объекта. Он не отрабатывает, если в обработке заполнения не предусмотрено заполнение из структуры
4. InFlach 101 11.02.26 10:31 Сейчас в теме
(3) Благодарю за ответ, проверил, все именно так)

Если в штатном документе не предусмотрено заполнение из структуры или нужно предзаполнить реквизиты созданные на форме, может быть слышали о каких-то еще методах, кроме как ПолучитьФорму()?
5. koln 11.02.26 11:57 Сейчас в теме
(4) На сколько я знаю, реквизиты объекта заполняют именно в обработчике заполнения. Логику данного обработчика можно ведь переопределять (в расширении, например) Ну так же все это (реквизиты объекта и реквизиты формы) можно реализовать в обработчике формы ПриСозданииНаСервере
6. InFlach 101 11.02.26 12:13 Сейчас в теме
(5) Да, но тут речь идет о методе, который позволяет "не прикасаться" вообще к документу, который нужно предзаполнить.
7. koln 11.02.26 13:10 Сейчас в теме
(6) На мой взгляд, у вашего метода есть недостаток, а именно, код по получению и заполнению формы нужно будет прописывать в каждом месте, в котором будет предусмотрен этот функционал. А при заполнении в обработчике ПриСозданииНаСервере, нужно будет передавать в параметрах открытия формы только необходимые значения. Общая логика будет прописана в обработчике формы: найден параметр - обработан, не найден - ничего не происходит. Это касается и реквизитов формы, и реквизитов объекта.
8. InFlach 101 11.02.26 13:14 Сейчас в теме
(7) Данный метод сделан для ситуаций, когда не нужно вмешиваться в код штатного документа, который хотите предзаполнить, например вы создали какой-то документ и в нем нужно добавить гиперссылку с определенной логикой заполнения штатного документа, который может предзаполняться также другими объектами ИБ. И если вы не хотите по каким-то причинам менять обработку заполнения в документе/расширении или где-либо еще, вы просто используете данный метод и у вас все работает
Для отправки сообщения требуется регистрация/авторизация