внешняя печатная форма
06.05.2010
17:07
#1
создаю внешнюю печатную форму ведомости МБ-7,
скопировал макет и модуль объекта из документа передача материалов в эксплуатацию
при вызове ВПФ ведомости МБ - 7 пишет:
не удалось сформировать ВПФ
Недостаточно фактических параметров
Помогите люди добрые
скопировал макет и модуль объекта из документа передача материалов в эксплуатацию
при вызове ВПФ ведомости МБ - 7 пишет:
не удалось сформировать ВПФ
Недостаточно фактических параметров
Помогите люди добрые
07.05.2010
09:36
#3
"версия 8.1
релиз 1.6.24.7
Код:
// Функция формирует печатную форму документа МБ-7
//
Функция ПечатьМБ7()Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| Номер КАК НомерДокумента,
| Дата КАК ДатаДокумента,
| Дата КАК ДатаСоставления,
| Организация КАК Организация,
| Склад КАК Склад,
| ПодразделениеОрганизации КАК Подразделение
|ИЗ
| Документ.ПередачаМатериаловВЭксплуатацию КАК ПередачаМатериаловВЭксплуатацию
|
|ГДЕ
| ПередачаМатериаловВЭксплуатацию.Ссылка = &ТекущийДокумент";
Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
Запрос.УстановитьПараметр("Организация", Шапка.Организация);
Запрос.УстановитьПараметр("Дата", Шапка.ДатаДокумента);
Запрос.Текст =
"ВЫБРАТЬ
| Спецодежда.НомерСтроки КАК НомерПП,
| Спецодежда.Номенклатура.Код КАК НоменклатурныйНомер,
| ВЫРАЗИТЬ(Спецодежда.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование,
| Спецодежда.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод,
| Спецодежда.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование,
| Спецодежда.Количество КАК Количество,
| Спецодежда.ФизЛицо КАК Сотрудник,
| РаботникиОрганизацийСрезПоследних.ТабельныйНомер,
| Спецодежда.Ссылка.Дата КАК ДатаДокумента,
| Спецодежда.НазначениеИспользования.СрокПолезногоИспользования КАК СрокСлужбы
|ИЗ
| Документ.ПередачаМатериаловВЭксплуатацию.Спецодежда КАК Спецодежда
| ЛЕВОЕ СОЕДИНЕНИЕ
| (ВЫБРАТЬ
| РаботникиОрганизацийСрезПоследних.Сотрудник.Код КАК ТабельныйНомер,
| РаботникиОрганизацийСрезПоследних.Сотрудник.ФизЛицо КАК ФизЛицо,
| РаботникиОрганизацийСрезПоследних.Должность КАК Должность,
| РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации КАК ПодразделениеОрганизации
| ИЗ
| РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Дата, Организация = &Организация) КАК РаботникиОрганизацийСрезПоследних
| ГДЕ
| РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
| ) КАК РаботникиОрганизацийСрезПоследних
| ПО Спецодежда.ФизЛицо = РаботникиОрганизацийСрезПоследних.Физлицо
|ГДЕ
| Спецодежда.Ссылка = &ТекущийДокумент
|
|УПОРЯДОЧИТЬ ПО
| НомерПП";
ВыборкаПоСтрокам = Запрос.Выполнить().Выбрать();
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПередачаМатериаловВЭксплуатацию_МБ7";
// Вывод заголовка
Макет = ПолучитьМакет("МБ7");
Область = Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.Заполнить(Шапка);
СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента);
Область.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации);
Область.Параметры.ПредставлениеПодразделения = Шапка.Подразделение;
Область.Параметры.ОрганизацияПоОКПО = СведенияОбОрганизации.КодПоОКПО;
ТабДокумент.Вывести(Область);
Пока ВыборкаПоСтрокам.Следующий() Цикл
Область = Макет.ПолучитьОбласть("Строка");
Область.Параметры.Заполнить(ВыборкаПоСтрокам);
Область.Параметры.ТоварНаименование = СокрЛП(ВыборкаПоСтрокам.ТоварНаименование);
ТабДокумент.Вывести(Область);
КонецЦикла;
// Вывод подвала
Область = Макет.ПолучитьОбласть("Подписи");
ТабДокумент.Вывести(Область);
Возврат ТабДокумент;
КонецФункции // ПечатьМБ7()
// Процедура осуществляет печать документа. Можно направить печать на
// экран или принтер, а также распечатать необходмое количество копий.
//
// Название макета печати передается в качестве параметра,
// по переданному названию находим имя макета в соответствии.
//
// Параметры:
// НазваниеМакета - строка, название макета.
//
Функция Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь, НепосредственнаяПечать = Ложь) Экспорт
// Получить экземпляр документа на печать
Если ИмяМакета = "МБ7" Тогда
ТабДокумент = ПечатьМБ7();
ИначеЕсли ИмяМакета = "М11" Тогда
ТабДокумент = ПечатьМ11();
КонецЕсли;
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект.Ссылка), НепосредственнаяПечать);
КонецФункции // Печать()
"
релиз 1.6.24.7
Код:
// Функция формирует печатную форму документа МБ-7
//
Функция ПечатьМБ7()Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| Номер КАК НомерДокумента,
| Дата КАК ДатаДокумента,
| Дата КАК ДатаСоставления,
| Организация КАК Организация,
| Склад КАК Склад,
| ПодразделениеОрганизации КАК Подразделение
|ИЗ
| Документ.ПередачаМатериаловВЭксплуатацию КАК ПередачаМатериаловВЭксплуатацию
|
|ГДЕ
| ПередачаМатериаловВЭксплуатацию.Ссылка = &ТекущийДокумент";
Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
Запрос.УстановитьПараметр("Организация", Шапка.Организация);
Запрос.УстановитьПараметр("Дата", Шапка.ДатаДокумента);
Запрос.Текст =
"ВЫБРАТЬ
| Спецодежда.НомерСтроки КАК НомерПП,
| Спецодежда.Номенклатура.Код КАК НоменклатурныйНомер,
| ВЫРАЗИТЬ(Спецодежда.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование,
| Спецодежда.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод,
| Спецодежда.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование,
| Спецодежда.Количество КАК Количество,
| Спецодежда.ФизЛицо КАК Сотрудник,
| РаботникиОрганизацийСрезПоследних.ТабельныйНомер,
| Спецодежда.Ссылка.Дата КАК ДатаДокумента,
| Спецодежда.НазначениеИспользования.СрокПолезногоИспользования КАК СрокСлужбы
|ИЗ
| Документ.ПередачаМатериаловВЭксплуатацию.Спецодежда КАК Спецодежда
| ЛЕВОЕ СОЕДИНЕНИЕ
| (ВЫБРАТЬ
| РаботникиОрганизацийСрезПоследних.Сотрудник.Код КАК ТабельныйНомер,
| РаботникиОрганизацийСрезПоследних.Сотрудник.ФизЛицо КАК ФизЛицо,
| РаботникиОрганизацийСрезПоследних.Должность КАК Должность,
| РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации КАК ПодразделениеОрганизации
| ИЗ
| РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Дата, Организация = &Организация) КАК РаботникиОрганизацийСрезПоследних
| ГДЕ
| РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
| ) КАК РаботникиОрганизацийСрезПоследних
| ПО Спецодежда.ФизЛицо = РаботникиОрганизацийСрезПоследних.Физлицо
|ГДЕ
| Спецодежда.Ссылка = &ТекущийДокумент
|
|УПОРЯДОЧИТЬ ПО
| НомерПП";
ВыборкаПоСтрокам = Запрос.Выполнить().Выбрать();
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПередачаМатериаловВЭксплуатацию_МБ7";
// Вывод заголовка
Макет = ПолучитьМакет("МБ7");
Область = Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.Заполнить(Шапка);
СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента);
Область.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации);
Область.Параметры.ПредставлениеПодразделения = Шапка.Подразделение;
Область.Параметры.ОрганизацияПоОКПО = СведенияОбОрганизации.КодПоОКПО;
ТабДокумент.Вывести(Область);
Пока ВыборкаПоСтрокам.Следующий() Цикл
Область = Макет.ПолучитьОбласть("Строка");
Область.Параметры.Заполнить(ВыборкаПоСтрокам);
Область.Параметры.ТоварНаименование = СокрЛП(ВыборкаПоСтрокам.ТоварНаименование);
ТабДокумент.Вывести(Область);
КонецЦикла;
// Вывод подвала
Область = Макет.ПолучитьОбласть("Подписи");
ТабДокумент.Вывести(Область);
Возврат ТабДокумент;
КонецФункции // ПечатьМБ7()
// Процедура осуществляет печать документа. Можно направить печать на
// экран или принтер, а также распечатать необходмое количество копий.
//
// Название макета печати передается в качестве параметра,
// по переданному названию находим имя макета в соответствии.
//
// Параметры:
// НазваниеМакета - строка, название макета.
//
Функция Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь, НепосредственнаяПечать = Ложь) Экспорт
// Получить экземпляр документа на печать
Если ИмяМакета = "МБ7" Тогда
ТабДокумент = ПечатьМБ7();
ИначеЕсли ИмяМакета = "М11" Тогда
ТабДокумент = ПечатьМ11();
КонецЕсли;
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект.Ссылка), НепосредственнаяПечать);
КонецФункции // Печать()
"
Читают тему
(гостей: 1)