Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 20:33

Создание документа программно, копирование табличной части

Автор Ansedoi, 24 мар 2016, 11:09

0 Пользователей и 1 гость просматривают эту тему.

Ansedoi

Добрый день. Я начинаю изучать 1с, прошу сильно не пинать.
Задача: Есть документ, есть поле Булево. Если оно становится активным, то при сохранении документа нужно создать новый документ,  табличная часть должна копироваться в новый документ. Делаю
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи,СсылкаНаДокумент)
Если Объект.Возврат=Истина Тогда

Запрос = Новый Запрос;
Запрос.УстановитьПараметр ("Документ",СсылкаНаДокумент);
Запрос.Текст =      "ВЫБРАТЬ
                    | ЗапКарКартриджиЗаправки.Картриджи КАК Картриджи,
                    | ЗапКарКартриджиЗаправки.Количество КАК Количество1,
                    | ЗапКарКартриджиЗаправки.Ссылка
                    |ИЗ
                    | Документ.ЗапКар.КартриджиЗаправки КАК ЗапКарКартриджиЗаправки
                    |ГДЕ
                    | ЗапКарКартриджиЗаправки.Картриджи ССЫЛКА Справочник.Картриджи";
                    | И ЗапКарКартриджиЗаправки.Ссылка = &Документ";

Результат = Запрос.Выполнить();
Таб1=Результат.Выгрузить();
        НовыйДок = Документы.СкладКартриджи.СоздатьДокумент();
НовыйДок.Дата = ТекущаяДата();
Для Каждого Стр из Таб1 цикл
ЗаполнитьЗначенияСвойств(Новыйдок.ТабличнаяЧасть1.Добавить(), Стр);
КонецЦикла;
НовыйДок.Записать();
КонецЕсли;

Документ создается, таблица не заполняется.
Табличная часть состоит из реквизитов:
Картриджи - ссылка Справочник.Картриджи
Количество - строка.


LexaK

не-е-е-е-т!!! не в том направлении копаете!
в 1С-ке есть такое понятие/механизм как создание/ввод документов на основании.
вы создали какой-то документ
а уже потом на его основании можете создать множество других документов: Возврат, СчетНаОплату и т.д.

лучше придерживаться стандартных механизмов, :befhbt:
конечно, ни кто не может запретить вам программно извращаться, ну это уже на любителя. :xfbnsdfb:
если помогло нажмите: Спасибо!

Ansedoi

Это понятно, что есть Создать на основании. Но меня интересует именно такой момент. Этот код создает у меня документ, заполняет таблицу, если не указывать параметры    Запрос.УстановитьПараметр ("Документ",СсылкаНаДокумент);. Но тогда в таблицу попадают элементы (картриджи) со всех документов. Вот как можно сделать выборка из конкретно (открытого документа). Документ записан.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск