|
Посчитать строку для определенного участка | ☑ | ||
---|---|---|---|---|
0
marinanima
31.07.13
✎
14:15
|
Код 1C
ЗапросПроизводительности = Новый Запрос(); ЗапросПроизводительности.Текст = "ВЫБРАТЬ | ПроизводительностьПоУчасткамСрезПоследних.Номенклатура КАК Номенклатура, | ПроизводительностьПоУчасткамСрезПоследних.ПроизводственныйУчасток КАК Подразделение, | ПроизводительностьПоУчасткамСрезПоследних.Организация КАК Организация, | ПроизводительностьПоУчасткамСрезПоследних.Производительность, | ПроизводительностьПоУчасткамСрезПоследних.Период |ИЗ | РегистрСведений.ПроизводительностьПоУчасткам.СрезПоследних(&Период, ) КАК ПроизводительностьПоУчасткамСрезПоследних |ГДЕ | ПроизводительностьПоУчасткамСрезПоследних.ПроизводственныйУчасток = &Подразделение | И ПроизводительностьПоУчасткамСрезПоследних.Организация = &Организация | |УПОРЯДОЧИТЬ ПО | ПроизводственныйУчасток, | Номенклатура, | Организация"; ЗапросПроизводительности.УстановитьПараметр("Подразделение", ЭтаФорма.Подразделение); ЗапросПроизводительности.УстановитьПараметр("Организация", ЭтаФорма.Организация); ЗапросПроизводительности.УстановитьПараметр("Период", ЭтаФорма.ДатаОтчета); ВыборкаПроизводительности = ЗапросПроизводительности.Выполнить().Выбрать(); ЗапросКатегорий = Новый Запрос(); ЗапросКатегорий.Текст = "ВЫБРАТЬ | ДоговорнаяЗарплата.Категория КАК Категория, | ДоговорнаяЗарплата.Сумма |ИЗ | РегистрСведений.ДоговорнаяЗарплата КАК ДоговорнаяЗарплата |ГДЕ | ДоговорнаяЗарплата.Категория.Наименование <> &Наименование | |УПОРЯДОЧИТЬ ПО | Категория"; ЗапросКатегорий.УстановитьПараметр("Наименование", "3 начальная"); ВыборкаКатегорий = ЗапросКатегорий.Выполнить().Выбрать(); //Вывод шапки отчета тШапкаОтчета = Макет.ПолучитьОбласть("ШапкаОтчета|Данные"); тШапкаОтчета.Параметры["Подразделение"] = ЭтаФорма.Подразделение; ТабДокумент.Вывести(тШапкаОтчета); //Вывод шапки таблицы тШапкаДанные = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные"); ТабДокумент.Вывести(тШапкаДанные); тШапкаКатегория = Макет.ПолучитьОбласть("ШапкаТаблицы|Категория"); Пока ВыборкаКатегорий.Следующий() Цикл тШапкаКатегория.Параметры["Категория"] = ВыборкаКатегорий.Категория; ТабДокумент.Присоединить(тШапкаКатегория); КонецЦикла; //Формирование отчета тСтрокаДанные = Макет.ПолучитьОбласть("СтрокаТаблицы|Данные"); тСтрокаКатегория = Макет.ПолучитьОбласть("СтрокаТаблицы|Категория"); Пока ВыборкаПроизводительности.Следующий() Цикл //Вывод номенклатуры тСтрокаДанные.Параметры["Номенклатура"] = ВыборкаПроизводительности.Номенклатура; ТабДокумент.Вывести(тСтрокаДанные); //Проход по выборке категорий (для вывода тарифа по каждой категории) ВыборкаКатегорий.Сбросить(); Пока ВыборкаКатегорий.Следующий() Цикл Если ВыборкаПроизводительности.НайтиСледующий("R33 (WAFIOS)") Тогда тСтрокаКатегория.Параметры["Сумма"] = Окр((ВыборкаКатегорий.Сумма / 2 / 21 / 8) / ВыборкаПроизводительности.Производительность, 4); КонецЕсли; тСтрокаКатегория.Параметры["Сумма"] = Окр((ВыборкаКатегорий.Сумма / 21 / 8) / ВыборкаПроизводительности.Производительность, 2); ТабДокумент.Присоединить(тСтрокаКатегория); КонецЦикла; Код 1C |
|||
1
Mitriy
31.07.13
✎
14:16
|
хвастаться нехорошо...
|
|||
2
Fragster
модератор
31.07.13
✎
14:18
|
НайтиСледующий - сбивает позицию выборки
|
|||
3
marinanima
31.07.13
✎
14:19
|
Необходимо посчитать отдельно сумму для участка R33 (WAFIOS), он находиться в справочнике Подразделения/Производство сетки(Завод)/Производительные участки/ R33 (WAFIOS)
Подсчет идет в цикле Пока ВыборкаКатегорий.Следующий() Цикл Подскажите пожалуйста как это сделать! |
|||
4
Капитан О
31.07.13
✎
14:20
|
не читал, но одобряю подсчёт в запросе
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |