Содержание:
- Список товаров, реализованных за определенный период в учетной программе 1С
- Обход выборки в 1С
- Выборка с данными нескольких табличных частей в системе конфигураций 1С
Для работы с данными из табличных частей используется стандартный механизм запросов в 1С. Запросы позволяют извлекать данные из табличных частей, фильтровать их, агрегировать и сортировать. Давайте рассмотрим пример запроса к табличной части документа «Реализация товаров и услуг».
Список товаров, реализованных за определенный период в учетной программе 1С
Допустим, необходимо получить список товаров, реализованных за определённый период, и их количество:
ВЫБРАТЬ
РеалТов.Изделие КАК Тов,
СУММА(РеалТов.Штук) КАК ОбщКоличество
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеалТов
ГДЕ
РеалТов.Ссылка.Дата МЕЖДУ &ДатаПервая И &ДатаВторая
СГРУППИРОВАТЬ ПО
РеалТов.Товар
Обход выборки в 1С
После того, как запрос выполнен, его результат нужно обработать в программном коде. Это делается с помощью обхода выборки. Запрос в 1С возвращает объект типа РезультатЗапроса, который содержит строки выборки. Для доступа к данным используется метод Выбрать(), который возвращает объект ВыборкаЗапроса.
Запрос = Новый Запрос;
Запрос.Текст = “
ВЫБРАТЬ
РеалТов. Изделие КАК Тов,
СУММА(РеалТов.Штук) КАК ОбщКоличество
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеалТов
ГДЕ
РеалТов.Ссылка.Дата МЕЖДУ &ДатаПервая И &ДатаВторая
СГРУППИРОВАТЬ ПО
РеалТов. Изделие “;
Запрос.УстановитьПараметр(“ДатаПервая”, ДатаНачала);
Запрос.УстановитьПараметр(“ДатаВторая”, ДатаОкончания);
РезультатЗап = Запрос.Выполнить();
ВыборкаПервая = РезультатЗап.Выбрать();
ПОКА ВыборкаПервая.Следующий() Цикл
Сообщить(“Изделие: ” + ВыборкаПервая.Тов + ” Штук: ” + ВыборкаПервая.ОбщКоличество);
КОНЕЦЦИКЛА;
Выборка с данными нескольких табличных частей в системе конфигураций 1С
Нередко встречаются ситуации, когда необходимо получить данные сразу из нескольких табличных частей. Например, у документа может быть табличная часть “Товары” и “Услуги”, и нужно объединить данные по ним.
Рассмотрим задачу: нужно получить список товаров, проданных за последний месяц, и для каждого товара вывести его количество и сумму.
ВЫБРАТЬ
РеалТов.Изделие КАК Тов,
СУММА(РеалТов.Штук) КАК ОбщКоличество,
СУММА(РеалТов.Сумма) КАК Сумма1
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеалТов
ГДЕ
РеалТов.Ссылка.Дата МЕЖДУ &ДатаПервая И &ДатаВторая
СГРУППИРОВАТЬ ПО
РеалТов.Изделие
Обработка выборки:
РезультатЗап = Запрос.Выполнить();
ВыборкаПоследняя = РезультатЗап.Выбрать();
ПОКА ВыборкаПоследняя.Следующий() Цикл
Сообщить(“Изделие: ” + ВыборкаПоследняя.Тов + ” Штук: ” + ВыборкаПоследняя. ОбщКоличество + ” Сумма: ” + ВыборкаПоследняя.Сумма1);
КОНЕЦЦИКЛА;
Специалист компании ООО “Кодерлайн”,
Дубровина Елена
Добавить комментарий