• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

отчет не видит документ, не введенный на основании

  • Автор темы Yoshiki
  • Дата начала
Y

Yoshiki

1с. 77. Комплексная дописанная. Есть документ розничной продажи (не стандартный) и документ возврата, кот вводится на основании продажи либо самостоятельно. Есть отчет за период по продавцу, в него попадают розница и возврат с ценами документов. Проблема: отчет не хочет видеть документ возврата если он введен самостоятельно. Подскажите что можно проверить. Текст отчета ниже.

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


Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ПолучитьПродажи");

Таб.ВывестиСекцию("Шапка");

Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, 0, 0);

КоличествоДок = 0;
Продаж = 0;
Возвратов = 0;
ПроданоНаСумму = 0;
ВозвратовНаСумму = 0;
БалансПоКассе = 0;

Пока Запрос.Группировка(1) = 1 Цикл

Если Запрос.Док.Автор = ВыбПользователь Тогда

Если Запрос.Док.Вид() = "РозничнаяПродажа" Тогда
Продаж = Продаж + 1;
ПроданоНаСумму = ПроданоНаСумму + Запрос.СуммаПоДокументуПродажа;
ВывСумм = Запрос.СуммаПоДокументуПродажа;

ИначеЕсли Запрос.Док.Вид() = "ВозвратВЛавке" Тогда
Возвратов = Возвратов + 1;
ВозвратовНаСумму = ВозвратовНаСумму + Запрос.СуммаПоДокументуВозврата;
ВывСумм = Запрос.СуммаПоДокументуВозврата;
КонецЕсли;

ВывДок = Строка(Запрос.Док) + " " + Строка(Запрос.Док.ПолучитьВремя());
Таб.ВывестиСекцию("Строка");
КоличествоДок = КоличествоДок + 1;

КонецЕсли;

КонецЦикла;
БалансПоКассе = ПроданоНаСумму - ВозвратовНаСумму;

сори, но структурирование листинга слетает :(
 
Y

Yoshiki

Прошу удалить тему - разобрался.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!