База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как заполнить документ 1С на основании созданного в расширении? › RE: Как заполнить документ 1С на основании созданного в расширении?

Здравствуйте, Владимир!
Чтобы заполнить документ в 1С на основании созданного в расширении, вам нужно использовать механизм создания на основании, который позволяет создавать новые документы на основе существующих. Вот пошаговая инструкция:
1. **Создание команды на основании**: В модуле менеджера документа, который вы хотите использовать в качестве основания, добавьте команду для создания нового документа. Это можно сделать в процедуре ДобавитьКомандыСозданияНаОсновании
.
1 2 3 4 5 6 7 | 1C Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить(); КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ВашДокумент.ПолноеИмя(); КомандаСоздатьНаОсновании.Представление = "Создать на основании Вашего документа"; КомандаСоздатьНаОсновании.Обработчик = "ВашОбработчикСозданияНаОсновании"; КонецПроцедуры |
2. **Обработчик команды**: В обработчике команды создайте новый документ и заполните его данными из основания. Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 1C Процедура ВашОбработчикСозданияНаОсновании(ДокументОснование, СтандартнаяОбработка) Экспорт НовыйДокумент = Документы.ВашДокумент.СоздатьДокумент(); НовыйДокумент.Дата = ТекущаяДата(); НовыйДокумент.Реквизит1 = ДокументОснование.Реквизит1; // Копируем данные из основания НовыйДокумент.Реквизит2 = ДокументОснование.Реквизит2; // И так далее для всех необходимых реквизитов // Заполняем табличные части, если необходимо Для Каждого Строка Из ДокументОснование.ТабличнаяЧасть Цикл НоваяСтрока = НовыйДокумент.ТабличнаяЧасть.Добавить(); НоваяСтрока.Поле1 = Строка.Поле1; НоваяСтрока.Поле2 = Строка.Поле2; КонецЦикла; НовыйДокумент.Записать(); // Сохраняем документ ОткрытьФорму(НовыйДокумент); // Открываем форму нового документа КонецПроцедуры |
3. **Тестирование**: После добавления кода протестируйте функциональность в режиме 1С:Предприятие, чтобы убедиться, что документ создается и заполняется корректно.
Эти шаги помогут вам заполнить документ на основании созданного в расширении. Если у вас есть дополнительные вопросы или требуется помощь с конкретным кодом, дайте знать!
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1210471/