Имя: Пароль:
1C
1C 7.7
v7: Помогите разобраться с группировкой в запросе.
0 kazimeg
 
11.08.16
11:05
Здравствуйте.
Возникла проблема в 1С Зарплата и Кадры 7.7. Есть отчет РасчетныеЛисткиМес

Там есть вот такой запрос
    СторноЗаписи = СоздатьОбъект("ЖурналРасчетов.Зарплата");    
    ТЗ=СоздатьОбъект("ТаблицаЗначений");
    ТЗ.НоваяКолонка("МесяцНачисления","Число",2);
    ТЗ.НоваяКолонка("Начисление","Строка");
    ТЗ.НоваяКолонка("Начислено","Число");
    ТЗ.НоваяКолонка("Дней","Число");
    ТЗ.НоваяКолонка("Часов","Число");
    ТЗ.НоваяКолонка("МесяцУдержания","Число",2);
    ТЗ.НоваяКолонка("Удержание","Строка");
    ТЗ.НоваяКолонка("Удержано","Число");

    ТекстЗапроса= "//{{ЗАПРОС(Печатать)
    |Период с {НачМесяца(ДатаАктуальности)} по {КонМесяца(ДатаАктуальности)};
    |Сотр = ЖурналРасчетов.Зарплата.Объект;
    |ВР = ЖурналРасчетов.Зарплата.ВидРасч;
    |Дн = ЖурналРасчетов.Зарплата.Дни;
    |Чс = ЖурналРасчетов.Зарплата.Часы;
    |Рез = ЖурналРасчетов.Зарплата.Результат;
    |Подр = ЖурналРасчетов.Зарплата.Объект.Подразделение;
    |Док = ЖурналРасчетов.Зарплата.ТекущийДокумент;
    |Пер = ЖурналРасчетов.Зарплата.ПериодРегистрации;
    |ТЗ= ЖурналРасчетов.Зарплата.ТекущаяЗапись;
    |Действие=ЖурналРасчетов.Зарплата.ПериодДействия;
    |Документик = ЖурналРасчетов.Зарплата.ТекущийДокумент;
    |Функция Начислено = Сумма(Рез) когда(ВР.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);
    |Функция Удержано = Сумма(Рез) когда(ВР.ВходитВГруппу(ГруппаРасчетов.ВсеУдержания)=1);
    |Функция Натурой = Сумма(Рез) когда(ВР.ВходитВГруппу(ГруппаРасчетов.ПрочиеДоходы)=1);
    |Функция ВыплаченоВКассе = Сумма(Рез) когда(ВР=Видрасчета.ВыплатаЧерезКассу);
    |Функция НачальноеСальдо = Сумма(Рез) когда(ВР=Видрасчета.НачальноеСальдо);";
    Если Сотрудник.Выбран()=1 Тогда
        ТекстЗапроса = ТекстЗапроса+"
        |Условие(Сотр=Сотрудник);";
    Иначе
        Если Расч.Выбран()=1 Тогда
            ТекстЗапроса=ТекстЗапроса+"
            |Условие((Сотр.Родитель=Расч)или (Сотр.ПриказОбУвольнении.Группа=Расч));";
        КонецЕсли;
        Если Подразделение.Выбран()=1 Тогда
            ТекстЗапроса = ТекстЗапроса+"
            |Условие(ПринадлПодмножеству(Подр,Подразделение)=1);";
        КонецЕсли;
    КонецЕсли;
    Если Пар=1 Тогда
        ТекстЗапроса = ТекстЗапроса+"
        |Группировка Сотр Упорядочить По Сотр.Наименование без групп;
        |Группировка ТЗ;";
    Иначе
        ТекстЗапроса = ТекстЗапроса+"
        |Группировка Сотр Упорядочить По Сотр.Код без групп;
        |Группировка ТЗ;";
    КонецЕсли;
    Запрос=СоздатьОбъект("Запрос");
    Если (Запрос.Выполнить(ТекстЗапроса)=0)  Тогда
        Возврат;
    КонецЕсли;


Затем дальше в тексте встречаются циклы
Пока Группировка(1)=1
Пока Группировка(2)=1
Пока Группировка(4)=1

Объясните, пожалуйста, по чем конкретно идет группировка в каждом случае.
Просто в ходе выполнения на некоторых сотрудниках выскакивает ошибка - "Неверное имя группы "4" в функции Группировка, а я не могу понять почем конкретно идет группировка.
1 Chum
 
11.08.16
11:08
Выгрузить запрос в ТЗ и визуально оцени результаты в виде таблицы.
2 kazimeg
 
11.08.16
11:10
А как это сделать?
3 Ёпрст
 
гуру
11.08.16
11:12
(0) перед Запрос.Выполнить(ТекстЗапроса)
посмотри сам ТекстЗапроса, например, так:

Предупреждение(ТекстЗапроса);


там смотри, сколько у тебя есть группировок, и есть ли их там вообще, 4 штуки.
4 kazimeg
 
11.08.16
11:37
В тексте запроса идет -  
Группировка Сотр Упорядочить По Сотр.Наименование без групп;
Группировка ТЗ;
5 Ёпрст
 
гуру
11.08.16
11:39
(4) и ? считать умеешь ? Это 2 (две) группировки. 4 там ну никак нет - вот и ошибка у тебя.
6 kazimeg
 
11.08.16
11:45
Это я вижу сам. Когда я просматриваю ТЗ через вычислить выражение, то выдает
  ТЗ=
      НомерСтроки=0
      МесяцНачисления=
      Начисление=
      Начислено=
      Дней=
      и.д.

Возможно группировка идет по полям ТЗ и тогда Группировка(4) значит Группировка("Начисление" )?
7 Builder
 
11.08.16
11:52
(6) Не значит. Нет в запросе 4-й группировки. Только ДВЕ.
8 kazimeg
 
11.08.16
12:37
Но когда я подставляю вместо 4 3, т.е. пишу Группировка(3), то сообщений об ошибке не выдает, но выплаты, которые шли через кассу при этом в расчетник не заносит.
9 Ёпрст
 
гуру
11.08.16
12:43
(8) вероятно, там есть еще запросы и ты смотришь не то/ не туда.
10 kazimeg
 
11.08.16
12:54
Вот полный код отчета

Перем Расч;
Перем ЖрнЗарплата;
Перем ДатаАктуальности;
Перем СледПериод;

Функция СтрокаПодоходного(Объект)
    ИтоговыйСписок=СоздатьОбъект("СписокЗначений");
    ФормированиеДанныхДля_ПН(Объект,ДатаАктуальности,ИтоговыйСписок);
    //************************В Итоговом списке***********************
    // 1 - совокупный доход.    2 - Льготы по матпомощи. 3 - стандартный вычет.
    // 4 - вычеты на иждивенцев 5 - Соц. вычеты 6 -имущ.вычеты  7 - подоходный налог  
    Стр="";
    если  ИтоговыйСписок.ПолучитьЗначение(1)<>0 Тогда
        Стр=Стр+ ?(ИтоговыйСписок.ПолучитьЗначение(1)<>0,"Доход="+Строка(ИтоговыйСписок.ПолучитьЗначение(1)),"");
        Стр=Стр+ ?(ИтоговыйСписок.ПолучитьЗначение(2)<>0," Льгот="+Строка(ИтоговыйСписок.ПолучитьЗначение(2)),"");
        Стр=Стр+ ?(ИтоговыйСписок.ПолучитьЗначение(3)<>0," Ст.вычт.="+Строка(ИтоговыйСписок.ПолучитьЗначение(3)),"");
        Стр=Стр+ ?(ИтоговыйСписок.ПолучитьЗначение(4)<>0," Вычт.идж="+Строка(ИтоговыйСписок.ПолучитьЗначение(4)),"");
        Стр=Стр+ ?(ИтоговыйСписок.ПолучитьЗначение(5)+ИтоговыйСписок.ПолучитьЗначение(6)<>0," Соц./им. вычеты="+Строка(ИтоговыйСписок.ПолучитьЗначение(5)+ИтоговыйСписок.ПолучитьЗначение(6)),"");
        Стр=Стр+ " Под.налог="+Строка(ИтоговыйСписок.ПолучитьЗначение(7));    
    КонецЕсли;
    Возврат(стр);
КонецФункции

Процедура ПечататьРЛ(Пар)
    СторноЗаписи = СоздатьОбъект("ЖурналРасчетов.Зарплата");    
    ТЗ=СоздатьОбъект("ТаблицаЗначений");
    ТЗ.НоваяКолонка("МесяцНачисления","Число",2);
    ТЗ.НоваяКолонка("Начисление","Строка");
    ТЗ.НоваяКолонка("Начислено","Число");
    ТЗ.НоваяКолонка("Дней","Число");
    ТЗ.НоваяКолонка("Часов","Число");
    ТЗ.НоваяКолонка("МесяцУдержания","Число",2);
    ТЗ.НоваяКолонка("Удержание","Строка");
    ТЗ.НоваяКолонка("Удержано","Число");

    ТЗН=СоздатьОбъект("ТаблицаЗначений");
    ТЗН.НоваяКолонка("МесяцНачисления","Число",2);
    ТЗН.НоваяКолонка("Начисление","Строка");
    ТЗН.НоваяКолонка("Начислено","Число");
    ТЗН.НоваяКолонка("Дней","Число");
    ТЗН.НоваяКолонка("Часов","Число");
    ТЗН.НоваяКолонка("Приоритет","Число");
    ТЗУ=СоздатьОбъект("ТаблицаЗначений");
    ТЗУ.НоваяКолонка("МесяцУдержания","Число",2);
    ТЗУ.НоваяКолонка("Удержание","Строка");
    ТЗУ.НоваяКолонка("Удержано","Число");
    ТЗВыплат=СоздатьОбъект("ТаблицаЗначений");
    ТЗВыплат.НоваяКолонка("ДатаВыплаты","Дата");
    ТЗВыплат.НоваяКолонка("Выплачено","Число");
    ТЗПрочие=СоздатьОбъект("ТаблицаЗначений");
    ТЗПрочие.НоваяКолонка("Начислено","Строка");
    ТЗПрочие.НоваяКолонка("Выплачено","Число");
    
    ТекстЗапроса= "//{{ЗАПРОС(Печатать)
    |Период с {НачМесяца(ДатаАктуальности)} по {КонМесяца(ДатаАктуальности)};
    |Сотр = ЖурналРасчетов.Зарплата.Объект;
    |ВР = ЖурналРасчетов.Зарплата.ВидРасч;
    |Дн = ЖурналРасчетов.Зарплата.Дни;
    |Чс = ЖурналРасчетов.Зарплата.Часы;
    |Рез = ЖурналРасчетов.Зарплата.Результат;
    |Подр = ЖурналРасчетов.Зарплата.Объект.Подразделение;
    |Док = ЖурналРасчетов.Зарплата.ТекущийДокумент;
    |Пер = ЖурналРасчетов.Зарплата.ПериодРегистрации;
    |ТЗ= ЖурналРасчетов.Зарплата.ТекущаяЗапись;
    |Действие=ЖурналРасчетов.Зарплата.ПериодДействия;
    |Документик = ЖурналРасчетов.Зарплата.ТекущийДокумент;
    |Функция Начислено = Сумма(Рез) когда(ВР.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);
    |Функция Удержано = Сумма(Рез) когда(ВР.ВходитВГруппу(ГруппаРасчетов.ВсеУдержания)=1);
    |Функция Натурой = Сумма(Рез) когда(ВР.ВходитВГруппу(ГруппаРасчетов.ПрочиеДоходы)=1);
    |Функция ВыплаченоВКассе = Сумма(Рез) когда(ВР=Видрасчета.ВыплатаЧерезКассу);
    |Функция НачальноеСальдо = Сумма(Рез) когда(ВР=Видрасчета.НачальноеСальдо);";
    Если Сотрудник.Выбран()=1 Тогда
        ТекстЗапроса = ТекстЗапроса+"
        |Условие(Сотр=Сотрудник);";
    Иначе
        Если Расч.Выбран()=1 Тогда
            ТекстЗапроса=ТекстЗапроса+"
            |Условие((Сотр.Родитель=Расч)или (Сотр.ПриказОбУвольнении.Группа=Расч));";
        КонецЕсли;
        Если Подразделение.Выбран()=1 Тогда
            ТекстЗапроса = ТекстЗапроса+"
            |Условие(ПринадлПодмножеству(Подр,Подразделение)=1);";
        КонецЕсли;
    КонецЕсли;
    Если Пар=1 Тогда
        ТекстЗапроса = ТекстЗапроса+"
        |Группировка Сотр Упорядочить По Сотр.Наименование без групп;
        |Группировка ТЗ;";
    Иначе
        ТекстЗапроса = ТекстЗапроса+"
        |Группировка Сотр Упорядочить По Сотр.Код без групп;
        |Группировка ТЗ;";
    КонецЕсли;
    Запрос=СоздатьОбъект("Запрос");
    Предупреждение(ТекстЗапроса);
    Если (Запрос.Выполнить(ТекстЗапроса)=0)  Тогда
        Возврат;
    КонецЕсли;
    Дт_рег=ДатаАктуальности;
    Таб=СоздатьОбъект("Таблица");
    Если Экз2=1 Тогда
        Таб.ИсходнаяТаблица("2Экз");
    Конецесли;    
    Пока Запрос.Группировка(1) = 1 Цикл
        Если Запрос.Начислено+Запрос.Удержано+Запрос.НачальноеСальдо=0 Тогда продолжить; КонецЕсли;
        Сотр=Запрос.Сотр;
        Таб.ВывестиСекцию("Заголовок");
        Начислений=0;Удержаний=0;СальдоНач=0;Внесено=0;
        ТЗ.УдалитьСтроки();
        ТЗН.УдалитьСтроки();
        ТЗУ.УдалитьСтроки();
        ТЗВыплат.УдалитьСтроки();
        ТЗПрочие.УдалитьСтроки();
        Пока Запрос.Группировка(2) = 1 Цикл
                Если Запрос.Рез=0 Тогда Продолжить; КонецЕсли;
                Если Запрос.ВР.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1 Тогда
                        ТЗН.НоваяСтрока();
                        ТЗН.МесяцНачисления=ДатаМесяц(Запрос.ТЗ.ДатаНачала);
                        ТЗН.Начисление=ПредставлениеВР(Запрос.ВР);
                        Если Запрос.ТЗ.Сторно =1 Тогда
                            Если СторноЗаписи.НайтиЗапись(Запрос.ТЗ.ПервичнаяЗапись)=1 Тогда
                                ТЗН.Начислено=Деноминация(Запрос.Рез,СторноЗаписи.ПериодДействия.ДатаНачала,СторноЗаписи.ПериодРегистрации.ДатаНачала);
                            КонецЕсли;
                            
                        ИначеЕсли Запрос.ТЗ.Перерасчет=1  Тогда
                            Если СторноЗаписи.НайтиЗапись(Запрос.ТЗ)=1 Тогда
                                ТЗН.Начислено=Деноминация(Запрос.Рез,СторноЗаписи.ПериодДействия.ДатаНачала,СторноЗаписи.ПериодРегистрации.ДатаНачала,1);
                            КонецЕсли;
                        Иначе
                            ТЗН.Начислено=Запрос.Рез;
                        КонецЕсли;
                        ТЗН.Дней=Запрос.Дн;
                        ТЗН.Часов=Запрос.Чс;
                        ТЗН.Приоритет=Запрос.ВР.Очередность;
                ИначеЕсли Запрос.ВР.ВходитВГруппу(ГруппаРасчетов.ВсеУдержания)=1 Тогда
                    Если Запрос.ВР<>ВидРасчета.ВыплатаЧерезБанк Тогда //это все кроме банка
                        ТЗУ.НоваяСтрока();
                        ТЗУ.МесяцУдержания=ДатаМесяц(Запрос.ТЗ.ДатаНачала);
                        ТЗУ.Удержание=ПредставлениеВР(Запрос.ВР);
                        Если Запрос.ТЗ.Сторно =1 Тогда
                            Если СторноЗаписи.НайтиЗапись(Запрос.ТЗ.ПервичнаяЗапись)=1 Тогда
                                ТЗУ.Удержано=Деноминация(Запрос.Рез,СторноЗаписи.ПериодДействия.ДатаНачала,СторноЗаписи.ПериодРегистрации.ДатаНачала);
                            КонецЕсли;
                        ИначеЕсли Запрос.ТЗ.Перерасчет=1  Тогда
                            Если СторноЗаписи.НайтиЗапись(Запрос.ТЗ)=1 Тогда
                                ТЗУ.Удержано=Деноминация(Запрос.Рез,СторноЗаписи.ПериодДействия.ДатаНачала,СторноЗаписи.ПериодРегистрации.ДатаНачала,1);
                            КонецЕсли;
                        Иначе
                            ТЗУ.Удержано=Запрос.Рез;
                        КонецЕсли
                    Иначе             // добавим  выплаты на банк,и подменим название вида расчета
                        ЧтоВыплачиваем=ПредставлениеВР(Запрос.ВР);
                        Если Запрос.Документик.Вид()="ПлатежнаяВедомость" Тогда
                            Если Запрос.Документик.ТипПлатежа=Перечисление.ТипПлатежа.Аванс Тогда
                                ЧтоВыплачиваем="Выплата аванса (банк)";
                            ИначеЕсли Запрос.Документик.ТипПлатежа=Перечисление.ТипПлатежа.ВыплатыНаДетей Тогда
                                ЧтоВыплачиваем="Выплата пособий (банк)";
                            ИначеЕсли Запрос.Документик.ТипПлатежа=Перечисление.ТипПлатежа.зарплата Тогда
                                ЧтоВыплачиваем="Выплата зарплаты (банк)";
                            Иначе
                                ЧтоВыплачиваем="Выплата в банк";
                            КонецЕсли;
                        КонецЕсли;
                        ТЗУ.НоваяСтрока();
                        ТЗУ.МесяцУдержания=ДатаМесяц(Запрос.ТЗ.ДатаНачала);
                        ТЗУ.Удержание=ЧтоВыплачиваем;
                        ТЗУ.Удержано=Запрос.Рез;
                    КонецЕсли;
                ИначеЕсли Запрос.ВР.ВходитВГруппу(ГруппаРасчетов.ПрочиеДоходы)=1 Тогда  // добавим натуральные выплаты,если они есть
                    ТЗПрочие.НоваяСтрока();
                    ТЗПрочие.Начислено=ПредставлениеВР(Запрос.ВР);
                    ТЗПрочие.Выплачено=Запрос.Натурой;    
                ИначеЕсли Запрос.ВР=Видрасчета.НачальноеСальдо Тогда
                    СальдоНач=Запрос.Рез;
                ИначеЕсли Запрос.ВР=Видрасчета.ВыплатаЧерезКассу Тогда
                    Пока Запрос.Группировка(4) = 1 Цикл
                        ТЗВыплат.НоваяСтрока();
                        Если Запрос.Документик.Вид()="ПлатежнаяВедомость" Тогда
                            ТЗВыплат.ДатаВыплаты=Запрос.Документик.ДатаВыплаты;
                            ТЗВыплат.Выплачено=Запрос.ВыплаченоВКассе;              
                        Иначе
                            ТЗВыплат.Выплачено=Запрос.ВыплаченоВКассе;
                        КонецЕсли;
                    КонецЦикла;                                            
                    

                ИначеЕсли Запрос.ВР=Видрасчета.Возврат Тогда
                    Внесено=Запрос.Рез;    
                КонецЕсли;    
        КонецЦикла;
        ТЗН.Свернуть("МесяцНачисления,Начисление,Приоритет","Начислено,Дней,Часов");
        ТЗН.Сортировать("МесяцНачисления+,Приоритет+");
        ТЗУ.Свернуть("МесяцУдержания,Удержание","Удержано");
        ТЗУ.Сортировать("МесяцУдержания+,Удержание");
        
        ДлинаТЗ=Макс(ТЗН.КоличествоСтрок(),ТЗУ.Количествострок());
        Для i=1 по ДлинаТЗ Цикл
            ТЗ.НоваяСтрока();
            Попытка
                ТЗН.ПолучитьстрокуПоНОмеру(i);
                ТЗ.МесяцНачисления=ТЗН.МесяцНачисления;
                ТЗ.Начисление=ТЗН.Начисление;
                ТЗ.Начислено=ТЗН.Начислено;
                ТЗ.Дней=ТЗН.Дней;
                ТЗ.Часов=ТЗН.Часов;
            Исключение
            КонецПопытки;
            Попытка
                ТЗУ.ПолучитьстрокуПоНОмеру(i);
                ТЗ.МесяцУдержания=ТЗУ.МесяцУдержания;
                ТЗ.Удержание=ТЗУ.Удержание;
                ТЗ.Удержано=ТЗУ.Удержано;
            Исключение
            КонецПопытки;
        КонецЦикла;
        ТЗ.ВыбратьСтроки();
        ПОка ТЗ.ПолучитьСтроку()=1 Цикл
            Таб.ВывестиСекцию("ВР");    
        КонецЦикла;
        Таб.ВывестиСекцию("Итоги");
        Если ТЗПрочие.Итог("Выплачено")>0 Тогда // выведем натуральные выплаты,если они есть
            Таб.ВывестиСекцию("ЗагПрочих");
            ТЗПрочие.ВыбратьСтроки() ;
            ПОка ТЗПрочие.ПолучитьСтроку()=1 Цикл
                Таб.ВывестиСекцию("Прочее");    
            КонецЦикла;
        КонецЕсли;
        Таб.ВывестиСекцию("НаРуки");
        Если ТЗВыплат.Итог("Выплачено")>0 Тогда // выведем кассовые выплаты по датам
            ТЗВыплат.ВыбратьСтроки() ;
            ПОка ТЗВыплат.ПолучитьСтроку()=1 Цикл
                Таб.ВывестиСекцию("Выплата");    
            КонецЦикла;
        КонецЕсли;
        Если Внесено>0 тогда
            Таб.ВывестиСекцию("Внесено");
        КонецЕсли;
        СальдоКон = СальдоНач+ТЗ.Итог("Начислено")-ТЗ.Итог("Удержано")-ТЗВыплат.Итог("Выплачено")+Внесено;
        Если СальдоКон>=0 Тогда
            ТекстИтога ="Долг за предприятием на конец месяца:";            
        Иначе
            ТекстИтога ="Долг за работником на конец месяца:";
        КонецЕсли;
        
        Таб.ВывестиСекцию("СальдоКонечное");
    КонецЦикла;    
    Таб.ТолькоПросмотр(1);
    Таб.Опции(0,0,0,0, "PO0057");
    Если Экз2=0 Тогда
        Таб.ПараметрыСтраницы(1,,,10,0,0,0,0,0,1);
    Иначе
        Таб.ПараметрыСтраницы(1,,,0,0,0,0,0,0,1);
    Конецесли;    
    Таб.Показать("Расчетные листки",);
    
КонецПроцедуры

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

Процедура Сформировать()
    Если ПоФИО=1 Тогда
        ПечататьРЛ(1);
    Иначе
        ПечататьРЛ(0);
    КонецЕсли;
КонецПроцедуры
ПоФИО=1;
ЖрнЗарплата = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ДатаАктуальности = ЖрнЗарплата.КонецТекущегоПериода();
11 Ёпрст
 
гуру
11.08.16
13:01
(10) вот этот код не имеет смысла, ибо в запросе 2 группировки всего:

                ИначеЕсли Запрос.ВР=Видрасчета.ВыплатаЧерезКассу Тогда
                    Пока Запрос.Группировка(4) = 1 Цикл
                        ТЗВыплат.НоваяСтрока();
                        Если Запрос.Документик.Вид()="ПлатежнаяВедомость" Тогда
                            ТЗВыплат.ДатаВыплаты=Запрос.Документик.ДатаВыплаты;
                            ТЗВыплат.Выплачено=Запрос.ВыплаченоВКассе;              
                        Иначе
                            ТЗВыплат.Выплачено=Запрос.ВыплаченоВКассе;
                        КонецЕсли;
                    КонецЦикла;
12 Ёпрст
 
гуру
11.08.16
13:03
+11 измени на
Пока Запрос.Группировка(3) = 1 Цикл

и в тексте запроса добавь в конец
|Группировка Документик;

это, судя по логике твоего кода.
13 kazimeg
 
11.08.16
13:18
Ёпрст и всем учавствовашим в обсуждении большое спасибо. Все заработало.