Y
Yoshiki
1с. 77. Комплексная дописанная. Есть документ розничной продажи (не стандартный) и документ возврата, кот вводится на основании продажи либо самостоятельно. Есть отчет за период по продавцу, в него попадают розница и возврат с ценами документов. Проблема: отчет не хочет видеть документ возврата если он введен самостоятельно. Подскажите что можно проверить. Текст отчета ниже.
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(ПолучитьПродажи)
|Период с ВыбНачПериода по ВыбКонПериода;
|Док = Документ.РозничнаяПродажа.ТекущийДокумент, Документ.ВозвратВЛавке.ТекущийДокумент;
|
|СуммаРозничнаяПродажа = Документ.РозничнаяПродажа.СуммаРозничная;
|СуммаВозврата = Документ.ВозвратВЛавке.СуммаРозничная;
|Функция СуммаПоДокументуПродажа = Сумма(СуммаРозничнаяПродажа);
|Функция СуммаПоДокументуВозврата = Сумма(СуммаВозврата);
|Группировка Док;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ПолучитьПродажи");
Таб.ВывестиСекцию("Шапка");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, 0, 0);
КоличествоДок = 0;
Продаж = 0;
Возвратов = 0;
ПроданоНаСумму = 0;
ВозвратовНаСумму = 0;
БалансПоКассе = 0;
Пока Запрос.Группировка(1) = 1 Цикл
Если Запрос.Док.Автор = ВыбПользователь Тогда
Если Запрос.Док.Вид() = "РозничнаяПродажа" Тогда
Продаж = Продаж + 1;
ПроданоНаСумму = ПроданоНаСумму + Запрос.СуммаПоДокументуПродажа;
ВывСумм = Запрос.СуммаПоДокументуПродажа;
ИначеЕсли Запрос.Док.Вид() = "ВозвратВЛавке" Тогда
Возвратов = Возвратов + 1;
ВозвратовНаСумму = ВозвратовНаСумму + Запрос.СуммаПоДокументуВозврата;
ВывСумм = Запрос.СуммаПоДокументуВозврата;
КонецЕсли;
ВывДок = Строка(Запрос.Док) + " " + Строка(Запрос.Док.ПолучитьВремя());
Таб.ВывестиСекцию("Строка");
КоличествоДок = КоличествоДок + 1;
КонецЕсли;
КонецЦикла;
БалансПоКассе = ПроданоНаСумму - ВозвратовНаСумму;
сори, но структурирование листинга слетает
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(ПолучитьПродажи)
|Период с ВыбНачПериода по ВыбКонПериода;
|Док = Документ.РозничнаяПродажа.ТекущийДокумент, Документ.ВозвратВЛавке.ТекущийДокумент;
|
|СуммаРозничнаяПродажа = Документ.РозничнаяПродажа.СуммаРозничная;
|СуммаВозврата = Документ.ВозвратВЛавке.СуммаРозничная;
|Функция СуммаПоДокументуПродажа = Сумма(СуммаРозничнаяПродажа);
|Функция СуммаПоДокументуВозврата = Сумма(СуммаВозврата);
|Группировка Док;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ПолучитьПродажи");
Таб.ВывестиСекцию("Шапка");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, 0, 0);
КоличествоДок = 0;
Продаж = 0;
Возвратов = 0;
ПроданоНаСумму = 0;
ВозвратовНаСумму = 0;
БалансПоКассе = 0;
Пока Запрос.Группировка(1) = 1 Цикл
Если Запрос.Док.Автор = ВыбПользователь Тогда
Если Запрос.Док.Вид() = "РозничнаяПродажа" Тогда
Продаж = Продаж + 1;
ПроданоНаСумму = ПроданоНаСумму + Запрос.СуммаПоДокументуПродажа;
ВывСумм = Запрос.СуммаПоДокументуПродажа;
ИначеЕсли Запрос.Док.Вид() = "ВозвратВЛавке" Тогда
Возвратов = Возвратов + 1;
ВозвратовНаСумму = ВозвратовНаСумму + Запрос.СуммаПоДокументуВозврата;
ВывСумм = Запрос.СуммаПоДокументуВозврата;
КонецЕсли;
ВывДок = Строка(Запрос.Док) + " " + Строка(Запрос.Док.ПолучитьВремя());
Таб.ВывестиСекцию("Строка");
КоличествоДок = КоличествоДок + 1;
КонецЕсли;
КонецЦикла;
БалансПоКассе = ПроданоНаСумму - ВозвратовНаСумму;
сори, но структурирование листинга слетает