Имя: Пароль:
1C
1C 7.7
v7: Откуда берутся пустые строки (запрос)?
0 Масянька
 
23.07.13
17:28
День добрый!
Прошу помощи:

Такой код:
Процедура Сформировать()
   
   ДокПодчиненные = СоздатьОбъект("Документ");
   
   гТабВыборка.УдалитьСтроки();

   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса = "//{{ЗАПРОС
   |ОбрабатыватьДокументы Все;
   |Период с ДатаНачала по ДатаОкончания;
   |ТекДок        = Документ.ЗаявкаПокупателя.ТекущийДокумент;
   |Товар        = Документ.ЗаявкаПокупателя.Номенклатура;
   |ИмяТовар    = Документ.ЗаявкаПокупателя.Номенклатура.Наименование;
   |Контрагент = Документ.ЗаявкаПокупателя.Контрагент;
   |КолВо        = Документ.ЗаявкаПокупателя.Количество;
   |Условие (Товар в Номенклатура);
   |Группировка Товар;";

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

КонецПроцедуры    // Сформировать


гТабВыборка - таблица на форме.
Почему вылазят пустые строки?
1 Lionee
 
23.07.13
17:29
(0) мешают?
2 Ёпрст
 
гуру
23.07.13
17:42
Без Групп воткни..
3 Ёпрст
 
гуру
23.07.13
17:43
- щас у тебя перебор вместе с группами справочника на выходе.
4 Ёпрст
 
гуру
23.07.13
17:43
ну и при группировке товар.. смотреть на документ, тоже не комильфо - добавь по нему группировку тоже.
5 Масянька
 
23.07.13
17:46
(4) Блин, пока собирался - сама дотумкала - все равно - спасибо!

В запрос добавила:
   |Группировка ТекДок;
   |Группировка Товар Упорядочить По Товар.Наименование без групп;";
6 Ёпрст
 
гуру
23.07.13
17:51
Упорядочивание можешь выкинуть, и так упорядочить по нему поумолчанию
7 Масянька
 
23.07.13
17:52
(6) СПАСИБО!!!!!!!!!!!!!!!!
Программист всегда исправляет последнюю ошибку.