Имя: Пароль:
1C
1С v8
Процедура Обработка заполнения
0 Смертник
 
20.06.13
15:29
Делаю обработку заполнения одного документа на основании другого. Если в табличной части Товары несколько строк - Ставка НДС подтягивается согласно тому что я написал.
Но вот когда в табличной части всего одна строчка - возникает проблема - СтавкаНДС.
Из запроса выводится - без НДС, полю СтавкаНДС присваивается без НДС, но  когда создается документ - ставка НДС стоит 18% как в Номенклатуре. Уже голову сломал где искать. Тм более прошел отладчиком - СтавкаНДС - без НДС стоит.
Помогите
1 1Cv8_accepted
 
20.06.13
15:29
>> согласно тому что я написал
А что написал-то?
2 Ненавижу 1С
 
гуру
20.06.13
15:29
может она позже устанавливается?
3 Смертник
 
20.06.13
15:32
Так отладчиком прохожу процедуру создания на основании и сразу открывается после документ
4 1Cv8_accepted
 
20.06.13
15:33
(2) Думаю, что-то с алгоритмом перебора/заполнения строк (НомерСтроки, индекс и т. д.)
(0) Код в студию!
5 Смертник
 
20.06.13
15:37
Запрос = Новый Запрос;
           Запрос.Текст =
           "ВЫБРАТЬ РАЗЛИЧНЫЕ
           |    ЗаказПоставщикуТовары.ру_СтатьяОборотов КАК СтатьяОборотов,
           |    ЗаказПоставщикуТовары.Номенклатура,
           |    ВЫБОР
           |        КОГДА ЗаказПоставщикуТовары.Ссылка.СуммаВключаетНДС
           |            ТОГДА ЗаказПоставщикуТовары.Сумма
           |        ИНАЧЕ ЗаказПоставщикуТовары.Сумма + ЗаказПоставщикуТовары.СуммаНДС
           |    КОНЕЦ КАК Сумма,
           |    ЗаказПоставщикуТовары.СтавкаНДС,
           |    ЗаказПоставщикуТовары.СуммаНДС КАК НДС,
           |    ЗаказПоставщикуТовары.Ссылка.ДоговорКонтрагента,
           |    ЗаказПоставщикуТовары.ру_ПланЗакупок.Сценарий КАК Сценарий,
           |    ЗаказПоставщикуТовары.Ссылка.Подразделение КАК ЦФО
           |ИЗ
           |    Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
           |ГДЕ
           |    ЗаказПоставщикуТовары.Ссылка = &Ссылка";
           

           Запрос.УстановитьПараметр("Ссылка",ДанныеЗаполнения.Ссылка);
           ТЗ = Запрос.Выполнить().Выгрузить();
Если ТЗ.Количество()=1 Тогда
               //РУ_Федорова}}
               
               // (РУ Фоменко
               СтатьяОборотов = ру_МодульКлиентСервер.ПолучитьСоответствиеСтатейБДРИБДДС(ТЗ[0].СтатьяОборотов, );
               // РУ Фоменко)
               Номенклатура = ТЗ[0].Номенклатура;
               СтавкаНДС = ТЗ[0].СтавкаНДС;
               НДС = ТЗ[0].НДС;
               Сумма = ДанныеЗаполнения.СуммаДокумента;
КонецЕсли;
6 Смертник
 
20.06.13
16:04
Закройте
Ошибка? Это не ошибка, это системная функция.