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

(Не выводит номер документа)

Автор GanG031, 24 мар 2016, 16:50

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

GanG031

Доброго времени суток! Пишу внешнюю печатную форму под обычные формы БП 2,0 Вот код модуля объекта:

Функция Печать() Экспорт
Запрос = Новый Запрос;
   
   Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.СсылкаНаОбъект.Ссылка);
   
   Запрос.Текст =
   "ВЫБРАТЬ
   | Номер                    КАК Номер,
   | Дата                     КАК ДатаДокумента,
   | Дата                     КАК ДатаСоставления,
   | Организация              КАК Организация,
   | Склад                    КАК Склад,
   | Местонахождение          КАК Подразделение
   |ИЗ
   | Документ.ПередачаМатериаловВЭксплуатацию КАК ПередачаМатериаловВЭксплуатацию
   |
   |ГДЕ
   | ПередачаМатериаловВЭксплуатацию.Ссылка = &ТекущийДокумент";
   
   Шапка = Запрос.Выполнить().Выбрать();
   Шапка.Следующий();
   
   Запрос = Новый Запрос;
   
   Запрос.УстановитьПараметр("Ссылка",                                                        ЭтотОбъект.СсылкаНаОбъект.Ссылка);
   Запрос.УстановитьПараметр("ДатаДок",                                                       Шапка.ДатаДокумента);
   Запрос.УстановитьПараметр("СчетУчетаСпецодеждыЗабалансовый",                             ПланыСчетов.Хозрасчетный.СпецодеждаВЭксплуатацииВспомогательный);
   Запрос.УстановитьПараметр("СчетУчетаСпецоснасткиЗабалансовый",                           ПланыСчетов.Хозрасчетный.СпецоснасткаВЭксплуатацииВспомогательный);
   Запрос.УстановитьПараметр("СчетУчетаИнвентаряИХозяйственныхПринадлежностейЗабалансовый", ПланыСчетов.Хозрасчетный.ИнвентарьИХозяйственныеПринадлежностиВЭксплуатации);
   
   Запрос.Текст =
   "ВЫБРАТЬ
   | ВложенныйЗапрос.ID КАК ID,
   | ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
   | ВложенныйЗапрос.Номенклатура КАК Номенклатура,
   | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК МатериалНаименование,
   | ВложенныйЗапрос.Номенклатура.Код КАК НоменклатурныйНомер,
   | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование,
   | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод,
   | ВложенныйЗапрос.СчетУчета КАК Счет,
   | ЕСТЬNULL(ВложенныйЗапрос.Количество, 0) КАК Количество,
   | СУММА(ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.Сумма, 0)) КАК Сумма
   |ИЗ
   | (ВЫБРАТЬ
   | 1 КАК ID,
   | МИНИМУМ(Спецодежда.НомерСтроки) КАК НомерСтроки,
   | Спецодежда.Номенклатура КАК Номенклатура,
   | Спецодежда.СчетУчета КАК СчетУчета,
   | СУММА(Спецодежда.Количество) КАК Количество
   | ИЗ
   | Документ.ПередачаМатериаловВЭксплуатацию.Спецодежда КАК Спецодежда
   | ГДЕ
   | Спецодежда.Ссылка = &Ссылка
   |
   | СГРУППИРОВАТЬ ПО
   | Спецодежда.Номенклатура,
   | Спецодежда.СчетУчета
   |
   | ОБЪЕДИНИТЬ ВСЕ
   |
   | ВЫБРАТЬ
   | 2,
   | МИНИМУМ(Спецоснастка.НомерСтроки),
   | Спецоснастка.Номенклатура,
   | Спецоснастка.СчетУчета,
   | СУММА(Спецоснастка.Количество)
   | ИЗ
   | Документ.ПередачаМатериаловВЭксплуатацию.Спецоснастка КАК Спецоснастка
   | ГДЕ
   | Спецоснастка.Ссылка = &Ссылка
   |
   | СГРУППИРОВАТЬ ПО
   | Спецоснастка.Номенклатура,
   | Спецоснастка.СчетУчета
   |
   | ОБЪЕДИНИТЬ ВСЕ
   |
   | ВЫБРАТЬ
   | 3 КАК ID,
   | МИНИМУМ(ИнвентарьИХозяйственныеПринадлежности.НомерСтроки) КАК НомерСтроки,
   | ИнвентарьИХозяйственныеПринадлежности.Номенклатура КАК Номенклатура,
   | ИнвентарьИХозяйственныеПринадлежности.СчетУчета КАК СчетУчета,
   | СУММА(ИнвентарьИХозяйственныеПринадлежности.Количество) КАК Количество
   | ИЗ
   | Документ.ПередачаМатериаловВЭксплуатацию.ИнвентарьИХозяйственныеПринадлежности КАК ИнвентарьИХозяйственныеПринадлежности
   | ГДЕ
   | ИнвентарьИХозяйственныеПринадлежности.Ссылка = &Ссылка
   |
   | СГРУППИРОВАТЬ ПО
   | ИнвентарьИХозяйственныеПринадлежности.Номенклатура,
   | ИнвентарьИХозяйственныеПринадлежности.СчетУчета) КАК ВложенныйЗапрос
   | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
   | &ДатаДок,
   | &ДатаДок,
   | Регистратор = &Ссылка
   |     И (НЕ СчетДт = &СчетУчетаСпецодеждыЗабалансовый)
   |     И (НЕ СчетДт = &СчетУчетаСпецоснасткиЗабалансовый)
   |     И (НЕ СчетДт = &СчетУчетаИнвентаряИХозяйственныхПринадлежностейЗабалансовый)) КАК ХозрасчетныйДвиженияССубконто
   | ПО ВложенныйЗапрос.Номенклатура = ХозрасчетныйДвиженияССубконто.СубконтоКт1
   | И ВложенныйЗапрос.СчетУчета = ХозрасчетныйДвиженияССубконто.СчетКт
   |
   |СГРУППИРОВАТЬ ПО
   | ВложенныйЗапрос.ID,
   | ВложенныйЗапрос.НомерСтроки,
   | ВложенныйЗапрос.Номенклатура,
   | ВложенныйЗапрос.Номенклатура.Код,
   | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
   | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения.Код,
   | ВложенныйЗапрос.СчетУчета,
   | ВложенныйЗапрос.Количество,
   | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))
   |
   |УПОРЯДОЧИТЬ ПО
   | ID,
   | НомерСтроки";
   
   Если Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить() = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
      Запрос.Текст = СтрЗаменить(Запрос.Текст, "Номенклатура.Код", "Номенклатура.Артикул");
   КонецЕсли;
   
   ЗапросПоНоменклатуре = Запрос.Выполнить();
   
   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
   ТабДокумент.ИмяПараметровПечати = "ПараметрыПечати_ПередачаМатериаловВЭксплуатацию_М11";
   
   // Вывод заголовка
   Макет = ПолучитьМакет("Макет");
   
   Область = Макет.ПолучитьОбласть("Шапка");
   
   Область.Параметры.Заголовок = "ТРЕБОВАНИЕ-НАКЛАДНАЯ № " + ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка.Номер);
   
   Область.Параметры.Заполнить(Шапка);
   
   СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента);
   
   Область.Параметры.ПредставлениеОрганизации   = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации);
   Область.Параметры.ПредставлениеПодразделения = Шапка.Подразделение;
   Область.Параметры.КодОКПО                    = СведенияОбОрганизации.КодПоОКПО;
   
   ТабДокумент.Вывести(Область);
   
   ВыборкаПоСтрокам = ЗапросПоНоменклатуре.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Пока ВыборкаПоСтрокам.Следующий() Цикл
      
      Область = Макет.ПолучитьОбласть("Строка");
      Область.Параметры.Заполнить(ВыборкаПоСтрокам);
      
      Область.Параметры.МатериалНаименование = СокрЛП(ВыборкаПоСтрокам.МатериалНаименование);
      Область.Параметры.Цена =                 ?(ВыборкаПоСтрокам.Количество = 0, 0, ВыборкаПоСтрокам.Сумма / ВыборкаПоСтрокам.Количество);
      
      ТабДокумент.Вывести(Область);
      
   КонецЦикла;
   
   Область = Макет.ПолучитьОбласть("Подвал");
   ТабДокумент.Вывести(Область);
   
   Возврат ТабДокумент;
   
КонецФункции



но почему то не выводится номер документа. ПОдскажите, в чем ошибка? выделил наклонным шрифтом, нужную строку кода. Заранее спасибо!

vitasw

И в каком же это месте наклонный шрифт? Вы сами то это место найдете?

GanG031

Извиняюсь, вот
Область.Параметры.Заголовок = "ТРЕБОВАНИЕ-НАКЛАДНАЯ № " + ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка.Номер);
   

vitasw

Вы эту функцию "ОбщегоНазначения.ПолучитьНомерНаПечать" открывали? Не ленитесь, откройте и посмотрите параметры функции и что вы в нее пихаете.

GanG031

делал и "Шапка", и ЭтотОбъект.Ссылка", все равно не выводит

vitasw

Эээээээ, вы перед тем как что-то пихать не пробовали хоть чуть-чуть подумать?
Функция ПолучитьНомерНаПечать(Документ, МассивПрефиксов = Неопределено, ПечатьПрефиксовРИБ = Истина) Экспорт

где Документ - ссылка на документ
Цитата: GanG031 от 24 мар 2016, 17:32делал и "Шапка"
- это результат запроса!
Цитата: GanG031 от 24 мар 2016, 17:32ЭтотОбъект.Ссылка
- это вообще хрень несусветная. Находясь во внешней обработке вы пишите "ЭтотОбъект.Ссылка"! Ничего не смущает?

Запихните "СсылкаНаОбъект"

Теги:

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

Рейтинг@Mail.ru

Поиск