Имя: Пароль:
1C
1С v8
Структура подчиненности документа
0 FuriKuri
 
19.04.13
14:16
Типова 1с Управление торговлей 10.3. Нужно в структуру подчиненности документов добавить колонку сумма НДС. Добавил колонку. В коде в процедурах : ВывестиРодительскиеДокументы(ДокументСсылка);    
   ЭлементыФормы.ДеревоДокументов.ТекущаяСтрока = мДерево;
   ВывестиПодчиненныеДокументы(мДерево);

В области заполнения дерева прописал

Выборка  = Запрос.Выполнить().Выбрать();
   ЕСли Выборка.Следующий() Тогда    
       
       СуммаНДС=УчетНДС.ПолучитьНДСДокумента(Выборка.Ссылка,"Товары")+УчетНДС.ПолучитьНДСДокумента(Выборка.Ссылка,"Услуги");
        //дерево
       СтрокаДерева.Ссылка= Выборка.Ссылка;
       СтрокаДерева.Проведен = Выборка.Проведен;
       СтрокаДерева.ПометкаУдаления = Выборка.ПометкаУдаления;
       СтрокаДерева.ДокументПредставление = Выборка.Представление;
       СтрокаДерева.СуммаДокумента = Выборка.СуммаДокумента;
       СтрокаДерева.СуммаНДС = СуммаНДС;
       СтрокаДерева.ВалютаДокумента = Выборка.ВалютаДокумента;
       СтрокаДерева.ВидДокумента = Выборка.Метаданные;                
   Иначе
       СтрокаДерева.Ссылка= ДокументСсылка;
       СтрокаДерева.ДокументПредставление = Строка(ДокументСсылка);
       СтрокаДерева.СуммаДокумента = ДокументСсылка.СуммаДокумента;
   КонецЕсли;



Но при выводе выводит не все дерево, а только 1 документ. В чем косяк??
1 Галахад
 
гуру
19.04.13
14:22
Ну, "Если" это же не "Цикл". А?
2 Лефмихалыч
 
19.04.13
14:23
два запроса в цикле - отличный план
3 Лефмихалыч
 
19.04.13
14:23
(1) а и то верно. И это, кстати, красивое решение, позволяющее избежать в данном случае запросов в цикле :)))
валялся
4 FuriKuri
 
19.04.13
14:51
(3) Это код из типовой, это не я писал. я только добавил строку с подсчетом НДС.
Это часть кода из процедуры ВывестиРодительскиеДокументы(ДокументСсылка).

В процедуре ВывестиПодчиненныеДокументы(СтрокаДерева)

код

Выборка = Запрос.Выполнить().Выбрать();    
   Пока Выборка.Следующий() Цикл
       Если мУжеВСписке[Выборка.Ссылка] = Неопределено Тогда
           
           
               СуммаНДС=УчетНДС.ПолучитьНДСДокумента(Выборка.Ссылка,"Товары")+УчетНДС.ПолучитьНДСДокумента(Выборка.Ссылка,"Услуги");
           
            //дерево
           НоваяСтрока = СтрокаДерева.Строки.Добавить();
           НоваяСтрока.Ссылка = Выборка.Ссылка;
           НоваяСтрока.ДокументПредставление = Выборка.Представление;
           НоваяСтрока.СуммаДокумента = Выборка.СуммаДокумента;
           СтрокаДерева.СуммаНДС = СуммаНДС;
           НоваяСтрока.ВалютаДокумента = Выборка.ВалютаДокумента;
           НоваяСтрока.Проведен = Выборка.Проведен;
           НоваяСтрока.ПометкаУдаления = Выборка.ПометкаУдаления;        
           мУжеВСписке.Вставить(Выборка.Ссылка, Истина);
           ВывестиПодчиненныеДокументы(НоваяСтрока);
       КонецЕсли;
   КонецЦикла;
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.