Перейти к основному содержимому

Пример произвольного сценария

Ниже пример произвольного скрипта для выдачи информации о продажах за день.

Продажи за день с учетом открытых кассовых смен
ТекущаяДата = ТекущаяДатаСеанса();
ВалютаУчета = Константы.ВалютаУправленческогоУчета.Получить();

Запрос = Новый Запрос("ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Таблица.Ссылка.Склад КАК Склад,
| Таблица.Сумма КАК СуммаВыручки
|ПОМЕСТИТЬ ВтДанные
|ИЗ
| Документ.ЧекККМ.Товары КАК Таблица
|ГДЕ
| Таблица.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И Таблица.Ссылка.Проведен
| И Таблица.Ссылка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЧековККМ.Пробит)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Ссылка.Склад,
| -Таблица.Сумма
|ИЗ
| Документ.ЧекККМВозврат.Товары КАК Таблица
|ГДЕ
| Таблица.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И Таблица.Ссылка.Проведен
| И Таблица.Ссылка.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЧековККМ.Пробит)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Таблица.Склад,
| Таблица.СуммаВыручкиОборот
|ИЗ
| РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК Таблица
|ГДЕ
| НЕ Таблица.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВтДанные.Склад КАК Склад,
| СУММА(ВтДанные.СуммаВыручки) КАК СуммаВыручки
|ИЗ
| ВтДанные КАК ВтДанные
|
|СГРУППИРОВАТЬ ПО
| ВтДанные.Склад
|ИТОГИ ПО
| ОБЩИЕ");
Запрос.Установитьпараметр("НачалоПериода", НачалоДня(ТекущаяДата));
Запрос.Установитьпараметр("КонецПериода", КонецДня(ТекущаяДата));

ТекстСообщенияНачало = СтрШаблон("ПРОДАЖИ ЗА ДЕНЬ (%1):", Формат(ТекущаяДата, "ДФ=dd.MM.yyyy"));
ТекстСообщения = "";
ТекстСообщенияИтоги = "";

ВыборкаИтоги = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Если ВыборкаИтоги.Следующий() Тогда

ФорматСуммы = "ЧЦ=15; ЧДЦ=2; ЧН=0";

ТекстСообщенияИтоги = СтрШаблон("ИТОГО:
|Выручка: %1 %2",
Формат(ВыборкаИтоги.СуммаВыручки, ФорматСуммы),
ВалютаУчета,);

Выборка = ВыборкаИтоги.Выбрать();

Пока Выборка.Следующий() Цикл

ТекстСообщения = ТекстСообщения + Символы.ПС + СтрШаблон("%1:
|Выручка: %2 %3",
Выборка.Склад,
Формат(Выборка.СуммаВыручки, ФорматСуммы),
ВалютаУчета);

ТекстСообщения = ТекстСообщения + Символы.ПС

КонецЦикла;

КонецЕсли;

Если ЗначениеЗаполнено(ТекстСообщения) Тогда
ТекстСообщения = ТекстСообщенияНачало + Символы.ПС + ТекстСообщения + Символы.ПС + ТекстСообщенияИтоги;
Иначе
ТекстСообщения = ТекстСообщенияНачало + Символы.ПС + "Нет данных о продажах";
КонецЕсли;

Результат.Сообщение.Текст = ТекстСообщения;

Пример исполнения произвольного сценария команды Telegram в 1С