Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как загрузить в табличную часть одного документа табличную часть другого документа?

Как загрузить в табличную  часть одного документа табличную часть другого документа?
Я
   safym
 
16.04.21 - 02:37
Помогите пожалуйста: У меня есть таблица ОказаниеУслуги с табличной частью Тираж(Номенклатура, НаборСвойств,Количество, Цена, Сумма) и документ Доставка с табличной частью Тираж (Номенклатура, НаборСвойств,Количество, Цена, Сумма - тоже самое то есть), хочу в ТЧ на форме документа Доставка передать ТЧ определенного документа ОказаниеУслуги, номер которого указывается на форме Доставка

Типы данных в ТЧ первого и второго документа - СправочникСсылка.Номенклатура, СправочникСсылка.ВариантыНоменклатуры, Число, Число,Число

Вот что я пыталась использовать:

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

    Пока Результат.Следующий() Цикл
        НоваяСтрока = Объект.Тираж.Добавить();
        
        НоваяСтрока.Номенклатура = Результат;
    КонецЦикла;

//    Результат = Запрос.Выполнить();
//    Выборка = Результат.Выбрать();
//    Объект.Тираж.Очистить();
//    Результат = Запрос.Выполнить().Выгрузить();
//    

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
     ЗаполнитьТабличнуюЧасть();
КонецПроцедуры

В Тираж документа Доставки вставляется одна строка с пустыми значениями (когда записей в первой ТЧ  несколько)
Я находила решения в том числе здесь, но это были случаи передачи реквизитов документов а не реквизитов табличных частей... Немного затрудняюсь как быть
   Chameleon1980
 
1 - 16.04.21 - 04:30
Почитайте про запросы азы
Очень много информации
На примере ваших задач
   Chameleon1980
 
2 - 16.04.21 - 04:33
Выбирайте из таблицы тч
2. ЗаполнитьЗначенияСвойств(новая строка, выборка)
Или вообще обход запроса не нужен
Тч. Загрузить(результат. Выгрузить())
   Chameleon1980
 
3 - 16.04.21 - 04:34
Блин
Даже есть правильные варианты в комментариях
   Chameleon1980
 
4 - 16.04.21 - 04:35
Ну и откройте для себя отладчик
Быстрее все поймете и научитесь

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.