Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
10 авг 2022, 23:11

Z отчет

Автор YuriR, 06 дек 2017, 15:01

0 Пользователей и 1 гость просматривают эту тему.

YuriR

Добрый день, есть 1с 8.3.9, Конфигурация Ресторан, на ней стоит обработка FrontOffice, там есть z отчет. При нажатии на z отчет открывается форма в которой кассир может поменять дату и кликнуть "Вввод", после чего делается z отчет. Как сделать чтоб отчет формировался по клику на z отчет без ввода дат.
Вот сама процедура
КнопкаZОтчетНажатие(Элемент)
   ПериодОтчета = ПолучитьПериодОтчетаПоТранзакциям();
   
   ФормаВводаПериода = ПолучитьОбщуюФорму("ФормаВводаПериода");
   ФормаВводаПериода.УстановитьПериод(ПериодОтчета.НачалоПериода, ПериодОтчета.ОкончаниеПериода);
   ФормаВводаПериода.ЭлементыФормы.НадписьВвода.Заголовок = "Укажите период отчета";
   ВыбранныйПериод = ФормаВводаПериода.ОткрытьМодально();
   
   Если ВыбранныйПериод <> Неопределено Тогда
      ЭтотОбъект.СформироватьОтчетПоТранзакциям("Z отчет", ВыбранныйПериод.НачалоПериода, ВыбранныйПериод.ОкончаниеПериода);
   Иначе   
      Возврат;
   КонецЕсли;
   
   Если РаботаСТорговымОборудованием.ПолучитьЗначениеРоли(глАвтор,"ПриЗакрытииСменыСоздаватьОтчет") Тогда
      Док = Документы.ОтчетКассовойСмены.СоздатьДокумент();
      Префикс=""; 
      глДокументы.ДобавитьПрефиксУзла(Префикс);
      глДокументы.глНовыйДокумент(Док);
      мPOS=глСобытия.ПолучитьЗначениеПоУмолчанию(глАвтор, "ОсновнойPOS");
      Если мPOS.Пустая() Тогда
         Запрос = Новый Запрос;
         Запрос.Текст="ВЫБРАТЬ ПЕРВЫЕ 1
         |   POS.Ссылка
         |ИЗ
         |   Справочник.POS КАК POS
         |ГДЕ
         |   (НЕ POS.ПометкаУдаления)";
         РезультатЗапроса = Запрос.Выполнить();
         Если НЕ РезультатЗапроса.Пустой() Тогда
            Выборка = РезультатЗапроса.Выбрать();
            Выборка.Следующий();
            мPOS=Выборка.Ссылка;
         КонецЕсли;   
      КонецЕсли;
      //
        Док.POS = мPOS;
      Док.Дата = ТекущаяДата();
      Док.УстановитьНовыйНомер(Префикс);
      Док.моЗаполнитьИзТранзакций(ВыбранныйПериод.НачалоПериода, ВыбранныйПериод.ОкончаниеПериода);
      Если Док.Состав.Количество()<>0 Тогда
         Док.Записать();
         Предупреждение("Создан отчет продаж за "+СокрЛП(Формат(Док.Дата,"ДЛФ=DD")));
      КонецЕсли;   
   КонецЕсли;   
КонецПроцедуры

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск