|
v7: из другого отчета вывести СумПриход | ☑ | ||
---|---|---|---|---|
0
Pechka
11.09.12
✎
16:03
|
Выводится отчет с подразделениями (АТЦ,Инструмент участок и т.д.),продукцией. Нужно напротив каждой строки подразделения указать Сумму-приход с другого отчета -Производственные затраты,сделала второй запрос , читает с регистра, помогите пожалуйста их объедиинить..цифры выходят,но ниже таблицы,или напротив нужных строк выходят нули..
Прикрепляю свой код,второй запрос сама написала.видимо неправильный //****************************************************************************** // Функция ПроверкаДат() Если ДатаНач > ПолучитьДатуТА() Тогда ДатаНач = ПолучитьДатуТА(); Предупреждение("Начальная дата не может быть |больше даты точки актуальности!"); Возврат 0; ИначеЕсли ДатаНач > ДатаКон Тогда ДатаНач = ДатаКон; Предупреждение("Начальная дата не может быть больше |конечной даты формирования отчета!"); Возврат 0; КонецЕсли; Возврат 1; КонецФункции // ПроверкаДат() //******************************************* //{{БУХГАЛТЕРСКИЙ ЗАПРОС(Сформировать) Процедура Сформировать() Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); Таб.ВывестиСекцию("Заголовок"); Таб.ВывестиСекцию("Шапка"); ПериодПо = ""; Если ПроверкаДат() = 0 Тогда Возврат; ИначеЕсли ДатаКон >= ПолучитьДатуТА() Тогда ПериодПо = ""; ПериодДляШапкиОтчета = Формат(ДатаНач, "Д ДДММГГГГ") + " - " + Формат(ПолучитьДатуТА(), "Д ДДММГГГГ") + " " + ПолучитьВремяТА(,,); Иначе ПериодДляШапкиОтчета = ПериодСтр(ДатаНач, ДатаКон); ПериодПо = " по ДатаКон"; КонецЕсли; // Расчет базы при распределениях пропорционально измерителям, характеризующим объем деятельности МВЗ ТекстОбъемДеятельности = "//{{ЗАПРОС(ОбъемДеятельностиОснПроизв) |Период с ДатаНач " + ПериодПо + "; |ОбрабатыватьДокументы Проведенные; |Обрабатывать НеПомеченныеНаУдаление; |Подразделение = Документ.КМ_КорректировкаИзмерителей.Подразделение; |Продукция = Документ.КМ_КорректировкаИзмерителей.Номенклатура; |Заказчик = Документ.КМ_КорректировкаИзмерителей.Номенклатура.КМ_ПодразделениеЗаказчик; |Владелец = Документ.КМ_КорректировкаИзмерителей.Владелец; |СтатьяЗатрат = Документ.КМ_КорректировкаИзмерителей.СтатьяЗатратНаПроизводство; |НачКоличество = Документ.КМ_КорректировкаИзмерителей.НачКоличество; |НачКоличествоВып = Документ.КМ_КорректировкаИзмерителей.НачКоличествоВып; |Количество = Документ.КМ_КорректировкаИзмерителей.Количество; |КоличествоНП = Документ.КМ_КорректировкаИзмерителей.КоличествоНП; |КоличествоНПВып = Документ.КМ_КорректировкаИзмерителей.КоличествоНПВып; |Всего = Документ.КМ_КорректировкаИзмерителей.Сумма; | |Функция НачБаза = Сумма(НачКоличество); |Функция НачБазаВып = Сумма(НачКоличествоВып); |Функция База = Сумма(Количество); |Функция БазаНП = Сумма(КоличествоНП); |Функция БазаНПВып = Сумма(КоличествоНПВып); |Функция СуммаВсего = Сумма(Всего); | |Группировка Подразделение без групп; |Группировка Заказчик без групп; |Группировка Продукция без групп; |Группировка Владелец без групп; | |Условие ((СтатьяЗатрат = ПолучитьПустоеЗначение(""Справочник"")) ИЛИ (СтатьяЗатрат = Константа.КМ_СтатьяВспомПроизвДляРасчетов.Получить(ДатаНач))); |";//}}ЗАПРОС Если ПустоеЗначение(ВыбИсполнитель) = 0 Тогда ТекстОбъемДеятельности = ТекстОбъемДеятельности + " |Условие (Подразделение = ВыбИсполнитель);"; КонецЕсли; Если ПустоеЗначение(ВыбЗаказчик) = 0 Тогда ТекстОбъемДеятельности = ТекстОбъемДеятельности + " |Условие (Заказчик = ВыбЗаказчик);"; КонецЕсли; //ЗапросОстаткиНП = СоздатьОбъект("Запрос"); ЗапросПоказателиДеятельности = СоздатьОбъект("Запрос"); ЗапросПоказателиДеятельности.Выполнить(ТекстОбъемДеятельности); // Пока ЗапросПоказателиДеятельности.Группировка("Подразделение") = 1 Цикл //Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "АТЦ" Тогда // ЕдИзм = "м/час"; //КонецЕсли; Пока ЗапросПоказателиДеятельности.Группировка("Заказчик") = 1 Цикл Пока ЗапросПоказателиДеятельности.Группировка("Продукция") = 1 Цикл Пока ЗапросПоказателиДеятельности.Группировка("Владелец") = 1 Цикл ЕдИзм = " "; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "АТЦ" Тогда ЕдИзм = "м/час" ; // // // Таб.ВывестиСекцию("Строка"); КонецЕсли; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "Инструментальный участок" Тогда ЕдИзм = "час" ; Таб.ВывестиСекцию("Строка"); КонецЕсли; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "Компрессорная" Тогда ЕдИзм = "куб.м." ; Таб.ВывестиСекцию("Строка"); КонецЕсли; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "Котельная" Тогда ЕдИзм = "гкал" ; Таб.ВывестиСекцию("Строка"); КонецЕсли; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "Насосная" Тогда ЕдИзм = "куб.м."; Таб.ВывестиСекцию("Строка"); КонецЕсли; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "ОТК" Тогда ЕдИзм = "час"; Таб.ВывестиСекцию("Строка"); КонецЕсли; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "РМЦ" Тогда ЕдИзм = "час"; Таб.ВывестиСекцию("Строка"); КонецЕсли; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "СГМ" Тогда ЕдИзм = "час"; Таб.ВывестиСекцию("Строка"); КонецЕсли; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "Участок по обслуживанию сантехники" Тогда ЕдИзм = "час"; Таб.ВывестиСекцию("Строка"); КонецЕсли; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "ЦЗЛ" Тогда ЕдИзм = "пробы"; Таб.ВывестиСекцию("Строка"); КонецЕсли; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "Электроцех" Тогда ЕдИзм = "пробы"; Таб.ВывестиСекцию("Строка"); КонецЕсли; Если ЗапросПоказателиДеятельности.Подразделение.Наименование = "ЭТЛ" Тогда ЕдИзм = "час"; Таб.ВывестиСекцию("Строка"); КонецЕсли; //Таб.ВывестиСекцию("Строка"); КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; //// ТекстЗапроса = "//{{ЗАПРОС(ПолучитьСум) |Период с ДатаНач" + ПериодПо + "; |Продукция = Регистр.ПроизводственныеЗатраты.Продукция; |Подразделение = Регистр.ПроизводственныеЗатраты.Подразделение; |ВидЗатрат = Регистр.ПроизводственныеЗатраты.ВидЗатрат; |Затрата = Регистр.ПроизводственныеЗатраты.Затрата; |Владелец = Регистр.ПроизводственныеЗатраты.Владелец; |Статус = Регистр.ПроизводственныеЗатраты.Статус; | |Сумма = Регистр.ПроизводственныеЗатраты.Сумма; |Функция СумПриход = Приход(Сумма); | |Группировка Подразделение без групп; //|Группировка Заказчик без групп; |Группировка Продукция без групп; |Группировка Владелец без групп; // |Условие ((СтатьяЗатрат = ПолучитьПустоеЗначение(""Справочник"")) ИЛИ (СтатьяЗатрат = Константа.КМ_СтатьяВспомПроизвДляРасчетов.Получить(ДатаНач)));Условие(Подразделение = 1); |Условие(Подразделение = 1); |"; ЗапросПолучитьСум = СоздатьОбъект("Запрос"); ЗапросПолучитьСум.Выполнить(ТекстЗапроса); Пока ЗапросПолучитьСум.Группировка("Подразделение") = 1 Цикл Пока ЗапросПолучитьСум.Группировка("Заказчик") = 1 Цикл Пока ЗапросПолучитьСум.Группировка("Продукция") = 1 Цикл Пока ЗапросПолучитьСум.Группировка("Владелец") = 1 Цикл Сум = ""; Если ЗапросПолучитьСум.Подразделение.Наименование = "АТЦ" Тогда Сум = ЗапросПолучитьСум.СумПриход; Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; // Таб.Опции(0,0,0,0); Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать",""); КонецПроцедуры //}}БУХГАЛТЕРСКИЙ ЗАПРОС Процедура ПриОткрытии() //{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА(Сформировать) ДатаНач = НачМесяца(ПолучитьДатуТА()); ДатаКон = КонМесяца(ПолучитьДатуТА()); //{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |