PDA

Просмотр полной версии : Сгруппировать элементы



Dilya1
26.04.2012, 08:48
Помогите пожалста сгруппировать элементы-"Оплата труда произв.персонала"
Дан запрос:
Текст = "//{{ЗАПРОС(Себестоимость продукции)
|Период с ДатаНач" + ПериодПо + ";
|
|ТипНоменклатуры = Регистр.ПроизводственныеЗ� �траты.Продукция.ТипНоменк� �атуры,
| Регистр.ВыпускПродукции.Пр одукция.ТипНоменклатуры,
| Регистр.ВозвратныеОтходы.П родукция.ТипНоменклатуры;
|
|ВидНоменклатуры = Регистр.ПроизводственныеЗ� �траты.Продукция.ВидНоменк� �атуры,
| Регистр.ВыпускПродукции.Пр одукция.ВидНоменклатуры,
| Регистр.ВозвратныеОтходы.П родукция.ВидНоменклатуры;
|
|Продукция = Регистр.ПроизводственныеЗ� �траты.Продукция,
| Регистр.ВыпускПродукции.Пр одукция,
| Регистр.ВозвратныеОтходы.П родукция;
|
|Подразделение = Регистр.ПроизводственныеЗ� �траты.Подразделение,
| Регистр.ВыпускПродукции.По дразделение,
| Регистр.ВозвратныеОтходы.П одразделение;
|
|Заказ = Регистр.ПроизводственныеЗ� �траты.Заказ,
| Регистр.ВыпускПродукции.За каз,
| Регистр.ВозвратныеОтходы.З аказ;
|
|Владелец = Регистр.ПроизводственныеЗ� �траты.Владелец,
| Регистр.ВыпускПродукции.Вл аделец,
| Регистр.ВозвратныеОтходы.В ладелец;
|
|ТекДок = Регистр.ПроизводственныеЗ� �траты.ТекущийДокумент,
| Регистр.ВыпускПродукции.Те кущийДокумент,
| Регистр.ВозвратныеОтходы.Т екущийДокумент;
|
|ВидЗатрат = Регистр.ПроизводственныеЗ� �траты.ВидЗатрат;
|Затрата = Регистр.ПроизводственныеЗ� �траты.Затрата,
| Регистр.ВозвратныеОтходы.М атериал;
|
|Количество = Регистр.ПроизводственныеЗ� �траты.Количество;
|Сумма = Регистр.ПроизводственныеЗ� �траты.Сумма;
|
|КодОперации = Регистр.ПроизводственныеЗ� �траты.КодОперации;
|
|КоличествоВыпуск = Регистр.ВыпускПродукции.Ко личество;
|
|КоличествоОтходов = Регистр.ВозвратныеОтходы.К оличество;
|СуммаОтходов = Регистр.ВозвратныеОтходы.С умма;
|Функция КолРасход = Расход(Количество);
|Функция СумРасход = Расход(Сумма);
|Функция КолПрод = Сумма(КоличествоВыпуск);
|";

Здесь я вводила группы:

Попытка
КМ_ГруппаМПЗ = ТаблицаОтчета.Затрата.КМ_Г� �уппаМПЗ;
Исключение
КМ_ГруппаМПЗ = " ";
КонецПопытки;

Если КМ_ГруппаМПЗ = " " Тогда
Если ТипЗначенияСтр(ТаблицаОтч� �та.Затрата) = "Справочник" Тогда
Если (ТаблицаОтчета.Затрата.Вид( ) = "СтатьиОбщепроизводственны хЗатрат") Тогда
Если (СокрЛП(ТаблицаОтчета.Затр� �та.Код) = "25801")ИЛИ(СокрЛП(ТаблицаОтчета.З атрата.Код) = "25901")ИЛИ(СокрЛП(ТаблицаОтчета.З атрата.Код) = "41615") Тогда
КМ_ГруппаМПЗ = " ";
Иначе
КМ_ГруппаМПЗ = "Прочее";
КонецЕсли;
ИначеЕсли (ТаблицаОтчета.Затрата.Вид( ) = "НалогиИОтчисления") Тогда
КМ_ГруппаМПЗ = "Оплата труда произв.персонала";
КонецЕсли;
ИначеЕсли (СокрЛП(ТаблицаОтчета.ВидЗ� �трат) = "Брак в производстве")И(ТаблицаОтчета.Затрата = "<не выбран>")Тогда
КМ_ГруппаМПЗ = "Прокат стальной";
ИначеЕсли (СокрЛП(ТаблицаОтчета.ВидЗ� �трат) = "Зарплата повременная")И(ТаблицаОтчета.Затрата = "<не выбран>")Тогда
КМ_ГруппаМПЗ = "Оплата труда произв.персонала";
КонецЕсли;
КонецЕсли;

vovchicnn
07.08.2012, 04:09
Подробно текст запроса не читал (не проверял на практике, вставить некуда), но:
В Вашем запросе отсутствуют группировки, там есть только запрос реквизитов и функции. Должны быть группировки. Т.е., перепишите текст запроса с учётом группировок, а потом:
Пока Запрос.Группировка(?) Цикл
//что хотим от первой группировки
Пока Запрос.Группировка(?) Цикл
//что хотим от первой группировки
КонецЦикла;
КонецЦикла;
А лучше - обратитесь к программеру! И вопрос решат, и Вас научат.
Если интересно - пишите в личку.