Имя: Пароль:
1C
1С v8
Проведение табличной части справочника
0 CherryPRM
 
12.11.17
09:12
Добрый день!
Есть документ оказание услуги с табличной частью ПереченьНоменклатуры  и реквизитами ТЧ Номенклатура, кол-во, цена, сумма.

Процедура ОбработкаПроведения(Отказ, Режим)

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

    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры

Подскажите где и как написать запрос, чтобы проведение было не наименования номенклатуры, а табличной части данного справочника

Примерный запрос таков, но он для вывода в таблицу значений

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |   Наименование,
        |   Количество
        |ИЗ
        |    Справочник.Номенклатура.Ингредиенты КАК Номенклатура
                |ГДЕ
        |    Наименование = &Название
        |" ;
                
    //Справочники.Номенклатура.НайтиПоНаименованию("Пироженые")
    Запрос.УстановитьПараметр("Название",Справочники.Номенклатура.НайтиПоНаименованию("Пироженые"));
    
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаЗапроса = РезультатЗапроса.Выбрать();    
      Сообщить(ВыборкаЗапроса.Количество());
    Пока ВыборкаЗапроса.Следующий() Цикл
        НовСтр=ТаблицаЗначений.Добавить();
        НовСтр.Наименование=ВыборкаЗапроса.Наименование;
        НовСтр.Количество=ВыборкаЗапроса.Код;
    КонецЦикла;
1 Мимохожий Однако
 
12.11.17
09:17
Добавь поле Номеклатура.Ссылка
...
Его и присваивай в движениях.
PS. Название ветки - отпад.
2 AneJIbcuH
 
12.11.17
10:02
Вот это мешанина, название ветки + содержание в ней нечто.
Какая задача? При записи справочника что-то в регистр писать?
3 AneJIbcuH
 
12.11.17
10:13
На 5 раз прочитал, понял вроде

Типо этого, только с ценой не понятно:

ВЫБРАТЬ    
    Ингредиенты.Наименование,
    Ингредиенты.Количество
ИЗ
    Справочник.Номенклатура.Ингредиенты КАК Ингредиенты
ГДЕ
    Ингредиенты.Ссылка В
            (ВЫБРАТЬ
                Товары.Номенклатура
            ИЗ
                Документ.ОказаниеУслуг.ПереченьНоменклатуры КАК Товары
            ГДЕ
                Товары.Ссылка = &СсылкаНаВашДокумент
            СГРУППИРОВАТЬ ПО
                Товары.Номенклатура)
4 youalex
 
12.11.17
11:36
(0) Задачи из спеца?
5 EvgeniuXP
 
12.11.17
11:59
Табличную часть справочника не проводят - это справочник.
6 CherryPRM
 
12.11.17
17:49
(4) это аналогичная задача, как в прошлом году на финале worldskills была
7 CherryPRM
 
12.11.17
17:56
(2) Задача простая. Стандартно проводится поле в документе, а нужно найти по наименованию этого поля элемент справочника и провести данные из табличной части
8 Забияка
 
12.11.17
18:14
(7)А при чем здесь проведение справочника? :)))
9 CherryPRM
 
12.11.17
18:22
(8) Потому что тип реквизита Наименование ТЧ документа-это элемент справочника Номенклатура, а проводить нужно как раз таки ТЧ этого элемента
10 Serg_1960
 
12.11.17
18:42
Смешное изложение классической задачи на тему "материалы спецификации изготовления продукции". Автор желает, указав продукцию, получить список материалов на её изготовление.
11 CherryPRM
 
12.11.17
18:48
(10) именно так, притом получить этот список необходимо именно в процедуре ОбработкаПроведения
12 Мимохожий Однако
 
12.11.17
19:44
Когда ТС научится ставить запятые, тогда кто-нибудь его поймёт