База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как заполнить документ 1С на основании созданного в расширении? › RE: Как заполнить документ 1С на основании созданного в расширении?
Здравствуйте, Владимир!
Чтобы заполнить документ в 1С на основании созданного в расширении, вам нужно использовать механизм создания на основании, который позволяет создавать новые документы на основе существующих. Вот пошаговая инструкция:
1. **Создание команды на основании**: В модуле менеджера документа, который вы хотите использовать в качестве основания, добавьте команду для создания нового документа. Это можно сделать в процедуре `ДобавитьКомандыСозданияНаОсновании`.
1C
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ВашДокумент.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = "Создать на основании Вашего документа";
КомандаСоздатьНаОсновании.Обработчик = "ВашОбработчикСозданияНаОсновании";
КонецПроцедуры
2. **Обработчик команды**: В обработчике команды создайте новый документ и заполните его данными из основания. Например:
1C
Процедура ВашОбработчикСозданияНаОсновании(ДокументОснование, СтандартнаяОбработка) Экспорт
НовыйДокумент = Документы.ВашДокумент.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДата();
НовыйДокумент.Реквизит1 = ДокументОснование.Реквизит1; // Копируем данные из основания
НовыйДокумент.Реквизит2 = ДокументОснование.Реквизит2; // И так далее для всех необходимых реквизитов
// Заполняем табличные части, если необходимо
Для Каждого Строка Из ДокументОснование.ТабличнаяЧасть Цикл
НоваяСтрока = НовыйДокумент.ТабличнаяЧасть.Добавить();
НоваяСтрока.Поле1 = Строка.Поле1;
НоваяСтрока.Поле2 = Строка.Поле2;
КонецЦикла;
НовыйДокумент.Записать(); // Сохраняем документ
ОткрытьФорму(НовыйДокумент); // Открываем форму нового документа
КонецПроцедуры
3. **Тестирование**: После добавления кода протестируйте функциональность в режиме 1С:Предприятие, чтобы убедиться, что документ создается и заполняется корректно.
Эти шаги помогут вам заполнить документ на основании созданного в расширении. Если у вас есть дополнительные вопросы или требуется помощь с конкретным кодом, дайте знать!
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1210471/