Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 09:36

НУЖНА Помощь с кодом печатной формы

Автор Денис Медведев, 04 мар 2020, 22:42

0 Пользователей и 1 гость просматривают эту тему.

Денис Медведев

Не могу разобраться как правильно прописать <ПодразделениеМОЛ> в заголовке, что б автоматом выходило значение.
Подскажите что и куда добавить, а то голова уже кругом ))

Скриншот
https://yadi.sk/i/MPaONHbmtgPaFA

код

Процедура Печать(ТабДок, Ссылка) Экспорт

Макет = Документы.ЗаявкаНаЗаправкуКатриджей.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаявкаНаЗаправкуКатриджей.МОЛ КАК МОЛ,
| ЗаявкаНаЗаправкуКатриджей.ПользовательТС КАК ПользовательТС,
| ЗаявкаНаЗаправкуКатриджей.Устройства.(
| НомерСтроки КАК НомерСтроки,
| Наименование КАК Наименование,
| ПричинаСдачиНаРемонт КАК ПричинаСдачиНаРемонт,
| Наименование.ИНВ КАК ИНВ
| ) КАК Устройства
|ИЗ
| Документ.ЗаявкаНаЗаправкуКатриджей КАК ЗаявкаНаЗаправкуКатриджей
|ГДЕ
| ЗаявкаНаЗаправкуКатриджей.Ссылка В(&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьУстройстваШапка = Макет.ПолучитьОбласть("УстройстваШапка");
ОбластьУстройства = Макет.ПолучитьОбласть("Устройства");
Подвал = Макет.ПолучитьОбласть("Подвал");

ТабДок.Очистить();

ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

ТабДок.Вывести(ОбластьЗаголовок);

ТабДок.Вывести(ОбластьУстройстваШапка);
ВыборкаУстройства = Выборка.Устройства.Выбрать();
Пока ВыборкаУстройства.Следующий() Цикл
ОбластьУстройства.Параметры.Заполнить(ВыборкаУстройства);
ТабДок.Вывести(ОбластьУстройства, ВыборкаУстройства.Уровень());
КонецЦикла;

Подвал.Параметры.Заполнить(Выборка);
Подвал.Параметры.МОЛ = "" + Выборка.МОЛ.Фамилия + " " + Лев(Выборка.МОЛ.Имя, 1) + ". " + Лев(Выборка.МОЛ.Отчество, 1) + ".";
Подвал.Параметры.ПользовательТС = "" + Выборка.ПользовательТС.Фамилия + " " + Лев(Выборка.ПользовательТС.Имя, 1) + ". " + Лев(Выборка.ПользовательТС.Отчество, 1) + ".";   
Подвал.Параметры.ПодразделениеМОЛ = "" + Выборка.МОЛ.Подразделение + " " + Выборка.МОЛ.Должность + Символы.ПС + " " +Выборка.ПользовательТС.Звание;
Подвал.Параметры.ПодразделениеПолТС = "" + Выборка.ПользовательТС.Подразделение + " " + Выборка.ПользовательТС.Должность + Символы.ПС + " " +Выборка.ПользовательТС.Звание;
ТабДок.Вывести(Подвал);


ВставлятьРазделительСтраниц = Истина;
КонецЦикла;

КонецПроцедуры

wise

(0) НАДО заполнить параметры у области "ОбластьЗаголовок"
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Денис Медведев

это как будет выглядить ? можно код ?

alexandr_ll

Цитата: Денис Медведев от 05 мар 2020, 18:23
это как будет выглядить ? можно код ?
       ОбластьЗаголовок.Параметры.ПодразделениеМОЛ = МОЛ.Подразделение;
   ТабДок.Вывести(ОбластьЗаголовок);
       

Денис Медведев

Сделал
Процедура Печать(ТабДок, Ссылка) Экспорт

Макет = Документы.ЗаявкаНаЗаправкуКатриджей.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаявкаНаЗаправкуКатриджей.МОЛ КАК МОЛ,
| ЗаявкаНаЗаправкуКатриджей.ПользовательТС КАК ПользовательТС,
| ЗаявкаНаЗаправкуКатриджей.Устройства.(
| НомерСтроки КАК НомерСтроки,
| Наименование КАК Наименование,
| ПричинаСдачиНаРемонт КАК ПричинаСдачиНаРемонт,
| Наименование.ИНВ КАК ИНВ
| ) КАК Устройства
|ИЗ
| Документ.ЗаявкаНаЗаправкуКатриджей КАК ЗаявкаНаЗаправкуКатриджей
|ГДЕ
| ЗаявкаНаЗаправкуКатриджей.Ссылка В(&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьУстройстваШапка = Макет.ПолучитьОбласть("УстройстваШапка");
ОбластьУстройства = Макет.ПолучитьОбласть("Устройства");
Подвал = Макет.ПолучитьОбласть("Подвал");

ТабДок.Очистить();

ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

ТабДок.Вывести(ОбластьЗаголовок);
ВыборкаУстройства = Выборка.ПодразделениеМОЛ.Выбрать ();
ОбластьЗаголовок.Параметры.ПодразделениеМОЛ = ПодразделениеМОЛ = "";

ТабДок.Вывести(ОбластьУстройстваШапка);
ВыборкаУстройства = Выборка.Устройства.Выбрать();
Пока ВыборкаУстройства.Следующий() Цикл
ОбластьУстройства.Параметры.Заполнить(ВыборкаУстройства);
ТабДок.Вывести(ОбластьУстройства, ВыборкаУстройства.Уровень());
КонецЦикла;

Подвал.Параметры.Заполнить(Выборка);
Подвал.Параметры.МОЛ = "" + Выборка.МОЛ.Фамилия + " " + Лев(Выборка.МОЛ.Имя, 1) + ". " + Лев(Выборка.МОЛ.Отчество, 1) + ".";
Подвал.Параметры.ПользовательТС = "" + Выборка.ПользовательТС.Фамилия + " " + Лев(Выборка.ПользовательТС.Имя, 1) + ". " + Лев(Выборка.ПользовательТС.Отчество, 1) + ".";   
Подвал.Параметры.ПодразделениеМОЛ = "" + Выборка.МОЛ.Должность + " " + Выборка.МОЛ.Подразделение;
Подвал.Параметры.ПодразделениеПолТС = "" + Выборка.ПользовательТС.Должность + " " + Выборка.ПользовательТС.Подразделение;
ТабДок.Вывести(Подвал);

ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
КонецПроцедуры



в итоге выдает ошибку

{Документ.ЗаявкаНаЗаправкуКатриджей.МодульМенеджера(59,2)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
<<?>>КонецЦикла; (Проверка: Сервер)



alexandr_ll

Цитата: Денис Медведев от 16 мар 2020, 00:06
Сделал
Процедура Печать(ТабДок, Ссылка) Экспорт

Макет = Документы.ЗаявкаНаЗаправкуКатриджей.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаявкаНаЗаправкуКатриджей.МОЛ КАК МОЛ,
| ЗаявкаНаЗаправкуКатриджей.ПользовательТС КАК ПользовательТС,
| ЗаявкаНаЗаправкуКатриджей.Устройства.(
| НомерСтроки КАК НомерСтроки,
| Наименование КАК Наименование,
| ПричинаСдачиНаРемонт КАК ПричинаСдачиНаРемонт,
| Наименование.ИНВ КАК ИНВ
| ) КАК Устройства
|ИЗ
| Документ.ЗаявкаНаЗаправкуКатриджей КАК ЗаявкаНаЗаправкуКатриджей
|ГДЕ
| ЗаявкаНаЗаправкуКатриджей.Ссылка В(&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьУстройстваШапка = Макет.ПолучитьОбласть("УстройстваШапка");
ОбластьУстройства = Макет.ПолучитьОбласть("Устройства");
Подвал = Макет.ПолучитьОбласть("Подвал");

ТабДок.Очистить();

ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

ТабДок.Вывести(ОбластьЗаголовок);
ВыборкаУстройства = Выборка.ПодразделениеМОЛ.Выбрать ();
ОбластьЗаголовок.Параметры.ПодразделениеМОЛ = ПодразделениеМОЛ = "";

ТабДок.Вывести(ОбластьУстройстваШапка);
ВыборкаУстройства = Выборка.Устройства.Выбрать();
Пока ВыборкаУстройства.Следующий() Цикл
ОбластьУстройства.Параметры.Заполнить(ВыборкаУстройства);
ТабДок.Вывести(ОбластьУстройства, ВыборкаУстройства.Уровень());
КонецЦикла;

Подвал.Параметры.Заполнить(Выборка);
Подвал.Параметры.МОЛ = "" + Выборка.МОЛ.Фамилия + " " + Лев(Выборка.МОЛ.Имя, 1) + ". " + Лев(Выборка.МОЛ.Отчество, 1) + ".";
Подвал.Параметры.ПользовательТС = "" + Выборка.ПользовательТС.Фамилия + " " + Лев(Выборка.ПользовательТС.Имя, 1) + ". " + Лев(Выборка.ПользовательТС.Отчество, 1) + ".";   
Подвал.Параметры.ПодразделениеМОЛ = "" + Выборка.МОЛ.Должность + " " + Выборка.МОЛ.Подразделение;
Подвал.Параметры.ПодразделениеПолТС = "" + Выборка.ПользовательТС.Должность + " " + Выборка.ПользовательТС.Подразделение;
ТабДок.Вывести(Подвал);

ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
КонецПроцедуры



в итоге выдает ошибку

{Документ.ЗаявкаНаЗаправкуКатриджей.МодульМенеджера(59,2)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
<<?>>КонецЦикла; (Проверка: Сервер)

Что означает эта строка?:
  ОбластьЗаголовок.Параметры.ПодразделениеМОЛ = ПодразделениеМОЛ = "";

Денис Медведев

ПодразделениеМОЛ к примеру отдел кадров итд

alexandr_ll

Цитата: Денис Медведев от 16 мар 2020, 12:43
ПодразделениеМОЛ к примеру отдел кадров итд
Почему два раза "="?

Денис Медведев

в заявке должно быть в заголовке и в подвале

alexandr_ll

Цитата: Денис Медведев от 16 мар 2020, 16:26
в заявке должно быть в заголовке и в подвале
В этой строке
ОбластьЗаголовок.Параметры.ПодразделениеМОЛ = ПодразделениеМОЛ = "";
Вот это понятно
ОбластьЗаголовок.Параметры.ПодразделениеМОЛ= ПодразделениеМОЛ;
А это что значит?
= "";

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск