По теме из базы знаний
- Устранение ошибки "Данные по коду не найдены" при сканировании новой акцизной марки в Рознице 2.2.10, 2.2.11
- Массовая замена номенклатуры в справочнике Штрихкоды упаковок и товаров. Ошибка " Данные по коду не найдены"
- Управление качеством кода
- Ошибка. Данные по коду не найдены. (ЕГАИС). Розница 2.2
- Одно из возможных решений ошибки "Ошибка при выполнении запроса POST к ресурсу /e1cib/modules/call"
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
&НаКлиенте
Процедура НайтиДокумент(Команда)
ПоискДокумента().Показать();
КонецПроцедуры
&НаСервере
Функция ПоискДокумента() Экспорт
//Получить Макет
ТабДок=Новый ТабличныйДокумент;
ОтчетОбъект=РеквизитФормыВзначение("Объект");
Макет=ОтчетОбъект.ПолучитьМакет("Макет");
ОбластьМакета=Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(ОбластьМакета);
ОбластьМакета=Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьМакета.Параметры.ТекущийМесяц = Формат(ТекущаяДата(),"ДФ='MMMM yyyy'");
ОбластьМакета.Параметры.Месяц1 = Формат(ДобавитьМесяц(ТекущаяДата(),-1),"ДФ='MMMM yyyy'");
ОбластьМакета.Параметры.Месяц2 = Формат(ДобавитьМесяц(ТекущаяДата(),-2),"ДФ='MMMM yyyy'");
ОбластьМакета.Параметры.Месяц3 = Формат(ДобавитьМесяц(ТекущаяДата(),-3),"ДФ='MMMM yyyy'");
ОбластьМакета.Параметры.Месяц4 = Формат(ДобавитьМесяц(ТекущаяДата(),-4),"ДФ='MMMM yyyy'");
ОбластьМакета.Параметры.Месяц5 = Формат(ДобавитьМесяц(ТекущаяДата(),-5),"ДФ='MMMM yyyy'");
ОбластьМакета.Параметры.Месяц6 = Формат(ДобавитьМесяц(ТекущаяДата(),-6),"ДФ='MMMM yyyy'");
ТабДок.Вывести(ОбластьМакета);
ОбластьМакета=Макет.ПолучитьОбласть("Данные");
ТабДок.Вывести(ОбластьМакета);
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| СчетФактураПолученный.Ссылка КАК типдокумента,
| ВложенныйЗапрос.Ссылка.ДокументыОснования.(
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ссылка) КАК СсылкаСсылка
| ) КАК Количество
|ИЗ
| Документ.СчетФактураПолученный КАК СчетФактураПолученный,
| (ВЫБРАТЬ
| СчетФактураПолученныйДокументыОснования.Ссылка КАК Ссылка
| ИЗ
| Документ.СчетФактураПолученный.ДокументыОснования КАК СчетФактураПолученныйДокументыОснования) КАК ВложенныйЗапрос
|ИТОГИ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ типдокумента)
|ПО
| ОБЩИЕ" ;
Запрос.УстановитьПараметр("НачалоПериода",ТекущаяДата());
Запрос.УстановитьПараметр("КонецПериода",ДобавитьМесяц(ТекущаяДата(),-6));
Результат=Запрос.Выполнить().Выбрать();
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Тип");
ТЗ.Колонки.Добавить("Количество");
Тз.Колонки.Добавить("Количество1");
Тз.Колонки.Добавить("Количество2");
Тз.Колонки.Добавить("Количество3");
Тз.Колонки.Добавить("Количество4");
Тз.Колонки.Добавить("Количество5");
Тз.Колонки.Добавить("Количество6");
Пока Результат.Следующий() Цикл
Если НачалоМесяца(ОбластьМакета.Параметры.ТекущийМесяц) = НачалоМесяца(ТекущаяДата()) Тогда
НС = ТЗ.Добавить();
НС.Тип = ТипЗнч(Результат.типдокумента);
НС.Количество = ТипЗнч(Результат.Количество);
ИначеЕсли НачалоМесяца(ОбластьМакета.Параметры.Месяц1) = НачалоМесяца(ДобавитьМесяц(ТекущаяДата(),-1)) Тогда
НС = ТЗ.Добавить();
НС.Тип = ТипЗнч(Результат.типдокумента);
НС.Количество1=ТипЗнч(Результат.Количество);
ИначеЕсли НачалоМесяца(ОбластьМакета.Параметры.Месяц2) = НачалоМесяца(ДобавитьМесяц(ТекущаяДата(),-2)) Тогда
НС = ТЗ.Добавить();
НС.Тип = ТипЗнч(Результат.типдокумента);
НС.Количество2=ТипЗнч(Результат.Количество);
ИначеЕсли НачалоМесяца(ОбластьМакета.Параметры.Месяц3) = НачалоМесяца(ДобавитьМесяц(ТекущаяДата(),-3)) Тогда
НС = ТЗ.Добавить();
НС.Тип = ТипЗнч(Результат.типдокумента);
НС.Количество3=ТипЗнч(Результат.Количество);
ИначеЕсли НачалоМесяца(ОбластьМакета.Параметры.Месяц4) = НачалоМесяца(ДобавитьМесяц(ТекущаяДата(),-4)) Тогда
НС = ТЗ.Добавить();
НС.Тип = ТипЗнч(Результат.типдокумента);
НС.Количество4=ТипЗнч(Результат.Количество);
ИначеЕсли НачалоМесяца(ОбластьМакета.Параметры.Месяц5) = НачалоМесяца(ДобавитьМесяц(ТекущаяДата(),-5)) Тогда
НС = ТЗ.Добавить();
НС.Тип = ТипЗнч(Результат.типдокумента);
НС.Количество5=ТипЗнч(Результат.Количество);
ИначеЕсли НачалоМесяца(ОбластьМакета.Параметры.Месяц6) = НачалоМесяца(ДобавитьМесяц(ТекущаяДата(),-6)) Тогда
НС = ТЗ.Добавить();
НС.Тип = ТипЗнч(Результат.типдокумента);
НС.Количество6=ТипЗнч(Результат.Количество);
КонецЕсли;
КонецЦикла;
ТЗ.Свернуть("Тип","Количество,Количество1,Количество2,Количество3,Количество4,Количество5,Количество6");
Для каждого Строка Из ТЗ Цикл
ОбластьМакета.Параметры.Заполнить(Строка);
ТабДок.Вывести(ОбластьМакета);
КонецЦикла;
Возврат ТабДок;
КонецФункции
ПоказатьОбластьМакета=Макет.ПолучитьОбласть("Данные");
ТабДок.Вывести(ОбластьМакета);
Последняя строка лишняя. Или я совсем нуль.
В моем понятии получили область, сделали нужные данные, вывели данные в макет и так далее. По очереди каждую область макета.
А вы получили область данных, таб док вывести(). А далее даете запрос. Для какой области? По ходу для этой же. Вот после запроса вывод данных в макет будет как-то более правильным.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот