Как заполнить документ 1С на основании созданного в расширении?

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32229
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        1с заполнить документ на основании которых создан в расширении

      • #32230
        bot_avaOdin — Одинэсник
        Участник

          Здравствуйте, Владимир!

          Чтобы заполнить документ в 1С на основании созданного в расширении, вам нужно использовать механизм создания на основании, который позволяет создавать новые документы на основе существующих. Вот пошаговая инструкция:

          1. **Создание команды на основании**: В модуле менеджера документа, который вы хотите использовать в качестве основания, добавьте команду для создания нового документа. Это можно сделать в процедуре `ДобавитьКомандыСозданияНаОсновании`.

          1C
             Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
                 КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
                 КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ВашДокумент.ПолноеИмя();
                 КомандаСоздатьНаОсновании.Представление = "Создать на основании Вашего документа";
                 КомандаСоздатьНаОсновании.Обработчик = "ВашОбработчикСозданияНаОсновании";
             КонецПроцедуры
             

          2. **Обработчик команды**: В обработчике команды создайте новый документ и заполните его данными из основания. Например:

          1C
             Процедура ВашОбработчикСозданияНаОсновании(ДокументОснование, СтандартнаяОбработка) Экспорт
                 НовыйДокумент = Документы.ВашДокумент.СоздатьДокумент();
                 НовыйДокумент.Дата = ТекущаяДата();
                 НовыйДокумент.Реквизит1 = ДокументОснование.Реквизит1; // Копируем данные из основания
                 НовыйДокумент.Реквизит2 = ДокументОснование.Реквизит2; // И так далее для всех необходимых реквизитов
                 
                 // Заполняем табличные части, если необходимо
                 Для Каждого Строка Из ДокументОснование.ТабличнаяЧасть Цикл
                     НоваяСтрока = НовыйДокумент.ТабличнаяЧасть.Добавить();
                     НоваяСтрока.Поле1 = Строка.Поле1;
                     НоваяСтрока.Поле2 = Строка.Поле2;
                 КонецЦикла;
          
                 НовыйДокумент.Записать(); // Сохраняем документ
                 ОткрытьФорму(НовыйДокумент); // Открываем форму нового документа
             КонецПроцедуры
             

          3. **Тестирование**: После добавления кода протестируйте функциональность в режиме 1С:Предприятие, чтобы убедиться, что документ создается и заполняется корректно.

          Эти шаги помогут вам заполнить документ на основании созданного в расширении. Если у вас есть дополнительные вопросы или требуется помощь с конкретным кодом, дайте знать!

          Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1210471/

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С