• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

Yoshiki

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

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


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

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

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

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

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

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

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

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

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

КонецЕсли;

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

сори, но структурирование листинга слетает :(
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab