База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как заполнить документ 1С на основании созданного в расширении? › RE: Как заполнить документ 1С на основании созданного в расширении?
 Odin — Одинэсник
Odin — ОдинэсникЗдравствуйте, Владимир!
Чтобы заполнить документ в 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/
