Показано с 1 по 8 из 8
Тема: УПП.Печатная форма
Древовидный режим
-
20.03.2014, 07:51 #5
- Регистрация
- 01.11.2013
- Сообщений
- 4
- Сказал(а) спасибо
- 1
- Поблагодарили 0 раз(а) в 0 сообщениях
Функция ПечатьЗ1() Экспорт
ДопКолонка = Константы.ДополнительнаяК� �лонкаПечатныхФормДокумен� �ов.Получить();
Если ДопКолонка = Перечисления.Дополнительн� �яКолонкаПечатныхФормДоку� �ентов.Артикул Тогда
ТоварКод = "Артикул";
Иначе
ТоварКод = "Код";
КонецЕсли;
Запрос = Новый Запрос();
Запрос.УстановитьПараметр( "ТекущийДокумент", Ссылка);
Запрос.УстановитьПараметр( "Дата", Дата);
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ОтчетПроизводстваЗаСмену.� �омер,
| ОтчетПроизводстваЗаСмену.� �ата КАК ДатаДокумента,
| ОтчетПроизводстваЗаСмену.� �рганизация,
| ОтчетПроизводстваЗаСмену.� �одразделение,
| ОтчетПроизводстваЗаСмену.� �клад,
| ОтчетПроизводстваЗаСмену.� �клад.Представление КАК СкладПредставление,
| ОтветственныеЛицаСклад.Фи� �ическоеЛицо КАК МОЛ
|ИЗ
| Документ.ОтчетПроизводств� �ЗаСмену КАК ОтчетПроизводстваЗаСмену
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Ответстве� �ныеЛица.СрезПоследних(&Дат а, ) КАК ОтветственныеЛицаСклад
| ПО ОтчетПроизводстваЗаСмену.� �клад = ОтветственныеЛицаСклад.Ст� �уктурнаяЕдиница
|ГДЕ
| ОтчетПроизводстваЗаСмену.� �сылка = &ТекущийДокумент";
Шапка = Запрос.Выполнить().Выбрать() ;
Шапка.Следующий();
// Определим курс валюты УУ для перевода в тенге цены и суммы по документу
Если ОтражатьВБухгалтерскомУче те Тогда
КоэффициентПересчета = 1;
Иначе
мВалютаУправленческогоУче та = Константы.ВалютаУправленч� �скогоУчета.Получить();
мВалютаРегламентированног оУчета = Константы.ВалютаРегламент� �рованногоУчета.Получить();
СтруктураКурсУпр = РегистрыСведений.КурсыВал� �т.ПолучитьПоследнее(Дата, Новый Структура("Валюта", мВалютаУправленческогоУче та));
СтруктураКурсРегл = РегистрыСведений.КурсыВал� �т.ПолучитьПоследнее(Дата, Новый Структура("Валюта", мВалютаРегламентированног оУчета));
Если (СтруктураКурсРегл.Курс * СтруктураКурсУпр.Кратност� �) = 0 Тогда
КоэффициентПересчета = 1;
Иначе
КоэффициентПересчета = (СтруктураКурсУпр.Курс * СтруктураКурсРегл.Кратнос� �ь) / (СтруктураКурсРегл.Курс * СтруктураКурсУпр.Кратност� �);
КонецЕсли;
КонецЕсли;
Запрос = Новый Запрос();
Запрос.УстановитьПараметр( "ТекущийДокумент", Ссылка);
Запрос.УстановитьПараметр( "НачГраница", Новый Граница(Дата, ВидГраницы.Включая));
Запрос.УстановитьПараметр( "КонГраница", Новый Граница(Дата, ВидГраницы.Включая));
Запрос.УстановитьПараметр( "НаСклад", Перечисления.НаправленияВ� �пуска.НаСклад);
Запрос.УстановитьПараметр( "НаЗатраты", Перечисления.НаправленияВ� �пуска.НаЗатраты);
Запрос.УстановитьПараметр( "НаЗатратыСписок", Перечисления.НаправленияВ� �пуска.НаЗатратыСписок);
Запрос.УстановитьПараметр( "КоэффициентПересчета", КоэффициентПересчета);
ТекстЗапроса =
"ВЫБРАТЬ
| ВложенныйЗапрос.Номенклат� �ра КАК Номенклатура,
| ВЫРАЗИТЬ(ВложенныйЗапрос.Н оменклатура.НаименованиеП� �лное КАК СТРОКА(1000)) КАК ТоварНаименование,
| ВложенныйЗапрос.Номенклат� �ра." + ТоварКод + " КАК ТоварКод,
| ВложенныйЗапрос.ЕдиницаИз� �ерения.Представление КАК БазоваяЕдиницаНаименовани е,
| ВложенныйЗапрос.ЕдиницаИз� �ерения.ЕдиницаПоКлассифик атору.Код КАК БазоваяЕдиницаКодПоОКЕИ,
| ВложенныйЗапрос.ЕдиницаИз� �ерения КАК ЕдиницаИзмерения,
| ВложенныйЗапрос.ЕдиницаИз� �ерения.Наименование КАК ЕдиницаИзмеренияНаименова ние,
| ВложенныйЗапрос.ЕдиницаИз� �ерения.Код КАК ЕдиницаИзмеренияКод,
| ВложенныйЗапрос.ЕдиницаИз� �еренияМест.Представление КАК ВидУпаковки,
| ВложенныйЗапрос.Коэффицие� �тМест / ВложенныйЗапрос.Коэффицие� �т КАК КоличествоВОдномМесте,
| ВЫБОР
| КОГДА ВложенныйЗапрос.Количеств� �Мест > 0
| ТОГДА ВложенныйЗапрос.Количеств� �Мест * ВложенныйЗапрос.ЕдиницаИз� �еренияМест.Вес
| ИНАЧЕ ВложенныйЗапрос.Количеств� � * ВложенныйЗапрос.ЕдиницаИз� �ерения.Вес
| КОНЕЦ КАК МассаБрутто,
| ВложенныйЗапрос.Характери� �тика КАК Характеристика,
| ВложенныйЗапрос.Серия КАК Серия,
| ВложенныйЗапрос.Количеств� � КАК Количество,
| ВложенныйЗапрос.Количеств� �Мест КАК КоличествоМест,
| ВЫБОР КОГДА ВложенныйЗапрос.Количеств� �Всего ЕСТЬ NULL ИЛИ ВложенныйЗапрос.Количеств� �Всего = 0 ТОГДА
| 0
| ИНАЧЕ
| ВложенныйЗапрос.Стоимость� �борот / ВложенныйЗапрос.Количеств� �Всего
| КОНЕЦ КАК Цена,
| ВЫБОР КОГДА ВложенныйЗапрос.Количеств� �Всего ЕСТЬ NULL ИЛИ ВложенныйЗапрос.Количеств� �Всего = 0 ТОГДА
| 0
| КОГДА ВложенныйЗапрос.Количеств� � = ВложенныйЗапрос.Количеств� �Всего ТОГДА
| ВложенныйЗапрос.Стоимость� �борот
| ИНАЧЕ
| ВложенныйЗапрос.Стоимость� �борот * ВложенныйЗапрос.Количеств� � / ВложенныйЗапрос.Количеств� �Всего
| КОНЕЦ КАК Сумма,
| ВложенныйЗапрос.НомерСтро� �и КАК НомерСтроки,
| ВложенныйЗапрос.Получател� � КАК Получатель,
| ВложенныйЗапрос.КоррСчетБ� � КАК КоррСчетБУ
|ИЗ (
| ВЫБРАТЬ
| ОтчетПроизводстваЗаСмену.� �оменклатура КАК Номенклатура,
| ОтчетПроизводстваЗаСмену.� �оэффициент КАК Коэффициент,
| ОтчетПроизводстваЗаСмену.� �диницаИзмерения КАК ЕдиницаИзмерения,
| ОтчетПроизводстваЗаСмену.� �диницаИзмеренияМест КАК ЕдиницаИзмеренияМест,
| ОтчетПроизводстваЗаСмену.� �диницаИзмеренияМест.Коэфф ициент КАК КоэффициентМест,
| ОтчетПроизводстваЗаСмену.� �арактеристикаНоменклатур� � КАК Характеристика,
| ОтчетПроизводстваЗаСмену.� �ерияНоменклатуры КАК Серия,
| СУММА( ВЫБОР КОГДА НаправленияСписанияВсего.� �оэффициент ЕСТЬ NULL
| ИЛИ НаправленияСписанияВсего.� �оэффициент = 0 ТОГДА
| ОтчетПроизводстваЗаСмену.� �оличество
| ИНАЧЕ
| ОтчетПроизводстваЗаСмену.� �оличество * НаправленияСписания.Коэфф� �циент / НаправленияСписанияВсего.� �оэффициент
| КОНЕЦ
| ) КАК Количество,
| СУММА( ВЫБОР КОГДА НаправленияСписанияВсего.� �оэффициент ЕСТЬ NULL
| ИЛИ НаправленияСписанияВсего.� �оэффициент = 0 ТОГДА
| ОтчетПроизводстваЗаСмену.� �оличествоМест
| ИНАЧЕ
| ОтчетПроизводстваЗаСмену.� �оличествоМест * НаправленияСписания.Коэфф� �циент / НаправленияСписанияВсего.� �оэффициент
| КОНЕЦ
| ) КАК КоличествоМест,
| СУММА(ОтчетПроизводстваЗа� �мену.Количество) КАК КоличествоВсего,
|
| ОтчетПроизводстваЗаСмену.� �омерСтроки КАК НомерСтроки,
| ВЫБОР КОГДА Не ОтчетПроизводстваЗаСмену.� �сылка.ИспользоватьНаправл енияВыпуска
| ИЛИ (ОтчетПроизводстваЗаСмену. Ссылка.ИспользоватьНаправ� �енияВыпуска
| И ОтчетПроизводстваЗаСмену.� �аправлениеВыпуска = &НаСклад) ТОГДА
| ОтчетПроизводстваЗаСмену.� �сылка.Склад
| КОГДА ОтчетПроизводстваЗаСмену.� �аправлениеВыпуска = &НаЗатраты ТОГДА
| ВЫБОР КОГДА ОтчетПроизводстваЗаСмену.� �сылка.ОтражатьВБухгалтерс комУчете ТОГДА
| ОтчетПроизводстваЗаСмену.� �одразделениеОрганизацииП� �лучатель
| ИНАЧЕ
| ОтчетПроизводстваЗаСмену.� �одразделениеПолучатель
| КОНЕЦ
| КОГДА ОтчетПроизводстваЗаСмену.� �аправлениеВыпуска = &НаЗатратыСписок ТОГДА
| НаправленияСписания.Подра� �деление
| КОНЕЦ КАК Получатель,
|
| ВЫБОР КОГДА Не ОтчетПроизводстваЗаСмену.� �сылка.ИспользоватьНаправл енияВыпуска
| ИЛИ (ОтчетПроизводстваЗаСмену. Ссылка.ИспользоватьНаправ� �енияВыпуска
| И ОтчетПроизводстваЗаСмену.� �аправлениеВыпуска = &НаСклад) ТОГДА
| ОтчетПроизводстваЗаСмену.� �четБУ
| КОГДА ОтчетПроизводстваЗаСмену.� �аправлениеВыпуска = &НаЗатраты ТОГДА
| ОтчетПроизводстваЗаСмену.� �четЗатратПолучательБУ
| КОГДА ОтчетПроизводстваЗаСмену.� �аправлениеВыпуска = &НаЗатратыСписок ТОГДА
| НаправленияСписания.СчетЗ� �тратБУ
| КОНЕЦ КАК КоррСчетБУ,
|
| СУММА(ЕСТЬNULL(РегВыпускПрод укции.СтоимостьОборот,0))*&К� �эффициентПересчета КАК СтоимостьОборот
| ИЗ
| Документ.ОтчетПроизводств� �ЗаСмену.Продукция КАК ОтчетПроизводстваЗаСмену
|
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрНакопления.ВыпускП� �одукции%Суффикс%.Обороты(&Н ачГраница, &КонГраница, Запись, ) КАК РегВыпускПродукции
| ПО
| ОтчетПроизводстваЗаСмену.� �омерСтроки = РегВыпускПродукции.НомерС� �роки
| И РегВыпускПродукции.Регист� �атор = &ТекущийДокумент
|
| ЛЕВОЕ СОЕДИНЕНИЕ (
| ВЫБРАТЬ
| ВЫБОР КОГДА НаправленияСписания.Ссылк� �.ОтражатьВБухгалтерскомУч ете ТОГДА
| ПодразделениеОрганизации
| ИНАЧЕ
| Подразделение
| КОНЕЦ КАК Подразделение,
| СчетЗатратБУ,
| КлючСвязи,
| СУММА(Коэффициент) КАК Коэффициент
| ИЗ
| Документ.ОтчетПроизводств� �ЗаСмену.НаправленияСписан ия КАК НаправленияСписания
| ГДЕ
| НаправленияСписания.Ссылк� � = &ТекущийДокумент
| СГРУППИРОВАТЬ ПО
| НаправленияСписания.Ссылк� �,
| Подразделение,
| ПодразделениеОрганизации,
| СчетЗатратБУ,
| КлючСвязи
| ) КАК НаправленияСписания
| ПО
| ОтчетПроизводстваЗаСмену.� �аправлениеВыпуска = &НаЗатратыСписок
| И ОтчетПроизводстваЗаСмену.� �сылка.ИспользоватьНаправл енияВыпуска
| И ОтчетПроизводстваЗаСмену.� �лючСвязи = НаправленияСписания.КлючС� �язи
|
| ЛЕВОЕ СОЕДИНЕНИЕ (
| ВЫБРАТЬ
| КлючСвязи,
| СУММА(Коэффициент) КАК Коэффициент
| ИЗ
| Документ.ОтчетПроизводств� �ЗаСмену.НаправленияСписан ия КАК НаправленияСписания
| ГДЕ
| НаправленияСписания.Ссылк� � = &ТекущийДокумент
| СГРУППИРОВАТЬ ПО
| КлючСвязи
| ) КАК НаправленияСписанияВсего
| ПО
| ОтчетПроизводстваЗаСмену.� �аправлениеВыпуска = &НаЗатратыСписок
| И ОтчетПроизводстваЗаСмену.� �сылка.ИспользоватьНаправл енияВыпуска
| И ОтчетПроизводстваЗаСмену.� �лючСвязи = НаправленияСписания.КлючС� �язи
|
| ГДЕ
| ОтчетПроизводстваЗаСмену.� �сылка = &ТекущийДокумент
|
| СГРУППИРОВАТЬ ПО
| ОтчетПроизводстваЗаСмену.� �сылка,
| ОтчетПроизводстваЗаСмену.� �оменклатура,
| ОтчетПроизводстваЗаСмену.� �оэффициент,
| ОтчетПроизводстваЗаСмену.� �диницаИзмерения,
| ОтчетПроизводстваЗаСмену.� �диницаИзмеренияМест,
| ОтчетПроизводстваЗаСмену.� �арактеристикаНоменклатур� �,
| ОтчетПроизводстваЗаСмену.� �ерияНоменклатуры,
| ОтчетПроизводстваЗаСмену.� �диницаИзмеренияМест.Коэфф ициент,
| ОтчетПроизводстваЗаСмену.� �аправлениеВыпуска,
| ОтчетПроизводстваЗаСмену.� �одразделениеПолучатель,
| ОтчетПроизводстваЗаСмену.� �одразделениеОрганизацииП� �лучатель,
| НаправленияСписания.Подра� �деление,
| НаправленияСписания.СчетЗ� �тратБУ,
| ОтчетПроизводстваЗаСмену.� �четБУ,
| ОтчетПроизводстваЗаСмену.� �четЗатратПолучательБУ,
| ОтчетПроизводстваЗаСмену.� �омерСтроки
| ) КАК ВложенныйЗапрос
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|ИТОГИ ПО
| КоррСчетБУ";
Если ОтражатьВБухгалтерскомУче те Тогда
Запрос.Текст = СтрЗаменить( ТекстЗапроса, "%Суффикс%", "БухгалтерскийУчет");
Иначе
Запрос.Текст = СтрЗаменить( ТекстЗапроса, "%Суффикс%", "");
КонецЕсли;
РезультатЗапросаТовары = ПолныеПрава.ВыполнитьЗапр� �сВПривилегированномМодул� �(Запрос.Текст, Запрос.Параметры);
ДеревоТовары = РезультатЗапросаТовары.Вы� �рузить(ОбходРезультатаЗап роса.ПоГруппировкам);
//МассивТабличныхДокументов = Новый Массив();
МассивТабличныхДокументов = Новый ТабличныйДокумент;
МассивТабличныхДокументов .ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ОтчетПро� �зводстваЗаСмену_МХ18";
Макет = ПолучитьОбщийМакет("З1");
НомерСтроки = 0;
Для Каждого СтрокаКоррСчетБУ Из ДеревоТовары.Строки Цикл
НомерСтроки = НомерСтроки + 1;
ВывестиПечатнуюФормуЗ1(Мас сивТабличныхДокументов, Макет, Шапка, СтрокаКоррСчетБУ.Строки);
Если ДеревоТовары.Строки.Количе ство() > 1 И
НомерСтроки <> ДеревоТовары.Строки.Количе ство() Тогда
МассивТабличныхДокументов .ВывестиГоризонтальныйРаз� �елительСтраниц();
КонецЕсли;
КонецЦикла;
Возврат МассивТабличныхДокументов ;
КонецФункции
---------- Post added at 06:51 ---------- Previous post was at 06:38 ----------
Разобралась откуда берет именно табл.часть Продукция. (вложенный запрос , Отчет производства за смену, выбрана именно табл часть Продукция)а вот как бы сделать так чтоб запрос срабатывал так,чтобы если заполнена такая табличная часть то выводить то то...если др табличная часть то то то......
Социальные закладки