Имя: Пароль:
1C
 
Заполнение табличной части дока из выборки запроса.
,
0 bizon2008
 
27.10.16
12:46
Привет народ.
А гляньте плиз.
Что-то я походу фигню рисую.
Задача в принципе простая. Есть результат запроса, как только в нем меняется строка, надо ее записать в новую строку дока.
ПерваяСтрока = Истина;
       
    Пока Выборка.Следующий() Цикл
        Если ПерваяСтрока Тогда
              ТекСтрока = Выборка.Продукция;
              ТекСтрТовары = НовДок.Товары.Добавить();
        КонецЕсли;
        Если ТекСтрока <> Выборка.Продукция Тогда
            ТекСтрока = Выборка.Продукция;
            ТекСтрТовары = НовДок.Товары.Добавить();
        КонецЕсли;
          
  
          
          
           ПерваяСтрока = Ложь;
        
    Сообщить(Строка(Выборка.Продукция) + " - " + Строка(Выборка.КодМарки));
    КонецЦикла;
1 Лефмихалыч
 
27.10.16
12:48
>Есть результат запроса, как только в нем меняется строка

ЩИТО?.. что значит "меняется строка"?
2 Ёпрст
 
27.10.16
12:53
(0) воткни в запрос итоги по номенклатуре, не надо будет извратов с переменными, просто обойдешь группировку и добавишь строки с разной номенклатурой.
3 bizon2008
 
27.10.16
12:53
Ну типа
В запросе.
Товар1
Товар1
Товар1
Товар1
Товар1
Товар2
Товар2
Товар2
Товар3
Товар3
В доке должно
Товар1
Товар2
Товар3

Однако вот.
4 AlexToo
 
27.10.16
12:53
Если правильно понял тебя, то вот так наверно сделал бы :
ТекСтрока ="";
      
    Пока Выборка.Следующий() Цикл
        
        Если ТекСтрока <> Выборка.Продукция Тогда
            ТекСтрока = Выборка.Продукция;
            ТекСтрТовары = НовДок.Товары.Добавить();
            ТекСтрТовары = ТекСтрока ;
Сообщить(Строка(Выборка.Продукция) + " - " + Строка(Выборка.КодМарки));
        КонецЕсли;
          
  

  
    КонецЦикла;
5 bizon2008
 
27.10.16
12:54
(2) Группировка там не катит, там хвост очень нужный.
6 AlexToo
 
27.10.16
12:54
ТекСтрТовары.КолонкаТаблицы = ТекСтрока ;
7 Ёпрст
 
27.10.16
12:55
(5) че ?
8 bizon2008
 
27.10.16
12:55
(4) О точно же ТекСтрока ="";. Спасибо.
9 Михаил Козлов
 
27.10.16
12:56
(5) И чем итоги мешают?
10 bizon2008
 
27.10.16
12:57
(7) И все. Некогда мне однако красивые запросы писать. Я потома еще зайду. Мну тут зулусы мешают, подумать.
11 Лефмихалыч
 
27.10.16
12:57
запросом выбрать те и только те строки, которые должны быть в ТЧ, а потом ТЧ.Загрузить(РезультатЗапроса.Выгрузить())
12 Ёпрст
 
27.10.16
12:58
(11) скорее всего, у него егаис и помимо номенклатуры, он еще заполняет еще одну таб часть с марками.
Один хрен, добавив одну строку в текст запроса селал бы решение красившее и понятнее
13 Ёпрст
 
27.10.16
12:59
акт постановки на баланс лепит поди
14 Михаил Козлов
 
27.10.16
12:59
(10) Ну да - добавить строку в запрос "ИТОГИ ПО Номенклатура" много времени требует.
15 bizon2008
 
27.10.16
13:00
(12) Угуй. Я это, котелок допинаю, научишь потома, а? С меня коньяку будет. Запросы чето у мну полоховато получаются.
16 LeReve
 
27.10.16
13:29
(11) а в чем отличие между: >запросом выбрать те и только те строки
и
запросом выбрать только те строки
17 Лефмихалыч
 
27.10.16
13:29
(12) все равно это решается путем Загрузить(Выгрузить()), а не вот этим вот клюшкодавством из циклов, говна и палок
18 Лефмихалыч
 
27.10.16
13:30
(16) это разница между "необходимо" и "необходимо и достаточно"
Закон Брукера: Даже маленькая практика стоит большой теории.