helpf.pro
Регистрация

v8.2 УП: Помогите пожалуйста сделать запрос для вывода информации в печатную форму

sergson
26.09.2015 19:58Прочитано: 3129
                                                                Приложение №1  
Номер  
Дата  
АКТ
                                  Ном                  
Дата1
                                                                   
ПредставлениеПоставщика  
ПредставлениеПолучателя  
                                                                   
Обозначение шины Заводской номер шины и дата изготовления Тип ремонта (восстановление) Материалы Сумма  
Размер Марка Тип протектора Тип латки  
"НомерСтроки"-Номер из ТаблицыТовары "Размер"-ТаблицыТовары "Марка"-Марка из Таблицы товары "ЗавНомер"-ЗавНомер из Таблицы товары"Услуга"-Услуга из Таблицы Услуги "ТипПротектора"-ТипПротектора из таблицыуслуги "ТипЛатки"-ТипЛатки из таблицы АгентскиеУслуги "Сумма"-Сумма из таблицы Услуги  
               
Итого сумма: ИтогоСумма
               
СуммаПрописью        
                                                                   
                                                                 
Отпустил ОтветственныйПредставление Получил Получил      
                                                                   
Код 1C v 8.2 УП
 Функция Печать() Экспорт

ТабДок = новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");


ОбластьШапки   = Макет.ПолучитьОбласть("Шапка");
ОбластьШапкаТаблицы  = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьДанные  = Макет.ПолучитьОбласть("Данные");
ОбластьПодвал  = Макет.ПолучитьОбласть("Подвал");

ОбластьСуммаПрописью = Макет.ПолучитьОбласть("СуммаПрописью");
ОбластьПодписи = Макет.ПолучитьОбласть("Подписи");

ОбластьШапки.Параметры.ПредставлениеПоставщика = ""+СсылкаНаОбъект.Организация+", именуемое в дальнейшем «Заказчик», в лице генерального директора «»,  действующего на основании Устава, с одной стороны и ";
ОбластьШапки.Параметры.ПредставлениеПолучателя = ""+СсылкаНаОбъект.Контрагент+", именуемое в дальнейшем «Исполнитель», в лице генерального директора «», действующего на основании Устава, с другой стороны, подписали настоящий АКТ о выполненных работ по ремонту автошин для грузовых автомобилей и полуприцепов различных марок (далее именуемые - «автошины»), не отвечающих техническим требованиям эксплуатации, в том числе:";

Дата = СсылкаНаОбъект.ДоговорКонтрагента.Дата;                                                                                        
Дата1 = СсылкаНаОбъект.Дата;

ОбластьШапки.Параметры.Дата = "от " + Формат(Дата, "ДЛФ=Д")+" г.";
ОбластьШапки.Параметры.Номер = "к Договору №" + СсылкаНаОбъект.ДоговорКонтрагента.Номер;
ОбластьШапки.Параметры.Ном = "Выполненных работ №" +  СтрЗаменить(СтрЗаменить(СсылкаНаОбъект.Номер,Символы.НПП,"")," ","");
ОбластьШапки.Параметры.Дата1 = "от " + Формат(Дата1, "ДЛФ=Д")+" г.";

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

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

//Выше идет запрос к таблице "Услуги" как реализовать запрос так чтобы я мог обращаться к Таблицам "Товары" и "АгентскиеУслуги"
|ГДЕ
|   РеализацияТоваровУслугТовары.Ссылка =Ссылка";
Выборка = Запрос.Выполнить().Выбрать();

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



ИтогоСумма = 0;
ИтогоКоличество = 0;


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


    ИтогоСумма = ИтогоСумма + Выборка.Сумма;


    ТабДок.Вывести(ОбластьДанные);
КонецЦикла;

ОбластьПодвал.Параметры.ИтогоСумма      = ИтогоСумма;
ТабДок.Вывести(ОбластьПодвал);

ОбластьСуммаПрописью.Параметры.СуммаПрописью = ЧислоПрописью(ИтогоСумма,"Л=ru_RU; ДП=Ложь","рубль, рубля, рублей, м, копейка, копейки, копеек, ж" );
ТабДок.Вывести(ОбластьСуммаПрописью); 


ОбластьПодписи.Параметры.ОтветственныйПредставление = СсылкаНаОбъект.Ответственный;
ТабДок.Вывести(ОбластьПодписи);
    
   
ТабДок.АвтоМасштаб = Истина;
возврат ТабДок;

КонецФункции


как реализовать запрос так чтобы я мог обращаться к Таблицам "Товары" и "АгентскиеУслуги" Я выше написал место в коде где вопрос
Yandex
Возможно, вас также заинтересует
Реклама на портале
sergson
27.09.2015 00:26Ответ № 1
Код 1C v 8.2 УП
 Функция Печать() Экспорт

ТабДок = новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");


ОбластьШапки   = Макет.ПолучитьОбласть("Шапка");
ОбластьШапкаТаблицы  = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьДанные  = Макет.ПолучитьОбласть("Данные");
ОбластьПодвал  = Макет.ПолучитьОбласть("Подвал");

ОбластьСуммаПрописью = Макет.ПолучитьОбласть("СуммаПрописью");
ОбластьПодписи = Макет.ПолучитьОбласть("Подписи");

КонтактноеЛицоКонтрагента = СсылкаНаОбъект.Контрагент.ОсновноеКонтактноеЛицо.Наименование;
КонтактноеЛицо = СсылкаНаОбъект.Руководитель;

ОбластьШапки.Параметры.ПредставлениеПоставщика = ""+СсылкаНаОбъект.Организация+", именуемое в дальнейшем «Заказчик», в лице генерального директора " + КонтактноеЛицо + ",  действующего на основании Устава, с одной стороны и ";
ОбластьШапки.Параметры.ПредставлениеПолучателя = ""+СсылкаНаОбъект.Контрагент+", именуемое в дальнейшем «Исполнитель», в лице генерального директора " + КонтактноеЛицоКонтрагента +", действующего на основании Устава, с другой стороны, подписали настоящий АКТ о выполненных работ по ремонту автошин для грузовых автомобилей и полуприцепов различных марок (далее именуемые - «автошины»), не отвечающих техническим требованиям эксплуатации, в том числе:";

Дата = СсылкаНаОбъект.ДоговорКонтрагента.Дата;                                                                                        
Дата1 = СсылкаНаОбъект.Дата;

ОбластьШапки.Параметры.Дата = "от " + Формат(Дата, "ДЛФ=Д")+" г.";
ОбластьШапки.Параметры.Номер = "к Договору №" + СсылкаНаОбъект.ДоговорКонтрагента.Номер;
ОбластьШапки.Параметры.Ном = "Выполненных работ №" +  СтрЗаменить(СтрЗаменить(СсылкаНаОбъект.Номер,Символы.НПП,"")," ","");
ОбластьШапки.Параметры.Дата1 = "от " + Формат(Дата1, "ДЛФ=Д")+" г.";

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

Запрос = новый Запрос;
Запрос.УстановитьПараметр("Ссылка",СсылкаНаОбъект);
Запрос.Текст =
"ВЫБРАТЬ
|   РеализацияТоваровУслугТовары.НомерСтроки,
|   РеализацияТоваровУслугТовары.Номенклатура КАК ТипПротектора,
| РеализацияТоваровУслугТовары.Номенклатура.НаименованиеПолное КАК Услуга,
|   ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Сумма КАК Число(10)) КАК Сумма
|ИЗ
|   Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугТовары
|ГДЕ
|   РеализацияТоваровУслугТовары.Ссылка =Ссылка
|ОБЪЕДИНИТЬ ВСЕ";

Текст = Текст +"
|ВЫБРАТЬ
|   ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура КАК Строка(100)) КАК Марка,
| ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.РазмерШины КАК Строка(100)) КАК Размер,
|   ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.ЗаводскойНомерИДатаИзготовления КАК Строка(100)) КАК ЗавНомер
|ИЗ
|   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
|   РеализацияТоваровУслугТовары.Ссылка =Ссылка
|ОБЪЕДИНИТЬ ВСЕ";
Запрос.Текст = Текст;

Выборка = Запрос.Выполнить().Выбрать();

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


ИтогоСумма = 0;


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


    ИтогоСумма = ИтогоСумма + Выборка.Сумма;


    ТабДок.Вывести(ОбластьДанные);
КонецЦикла;

ОбластьПодвал.Параметры.ИтогоСумма      = ИтогоСумма;
ТабДок.Вывести(ОбластьПодвал);

ОбластьСуммаПрописью.Параметры.СуммаПрописью = "Всего на сумму " +ИтогоСумма+ " ("+ЧислоПрописью(ИтогоСумма,"Л=ru_RU; ДП=Ложь","рубль, рубля, рублей, м, копейка, копейки, копеек, ж" )+")";
ТабДок.Вывести(ОбластьСуммаПрописью); 
    ОбластьПодписи.Параметры.ПредставлениеПоставщика1 = СсылкаНаОбъект.Организация;
ОбластьПодписи.Параметры.ПредставлениеПолучателя1 = СсылкаНаОбъект.Контрагент;

КонтактноеЛицоКонтрагента = ОбщегоНазначения.ФамилияИнициалыФизЛица(СсылкаНаОбъект.Контрагент.ОсновноеКонтактноеЛицо.Наименование);
КонтактноеЛицо = ОбщегоНазначения.ФамилияИнициалыФизЛица(СсылкаНаОбъект.Руководитель);


ОбластьПодписи.Параметры.Роспись = "___________________/"+КонтактноеЛицо;
ОбластьПодписи.Параметры.Роспись1 = "___________________/"+КонтактноеЛицоКонтрагента;

ТабДок.Вывести(ОбластьПодписи);
    
   
ТабДок.АвтоМасштаб = Истина;
возврат ТабДок;

КонецФункции


Теперь ошибка - Не удалось сформировать внешнюю печатную форму!
Преобразование значения к типу Число не может быть выполнено


sergson
27.09.2015 17:09Ответ № 2
Код 1C v 8.х
 ТабДок.Вывести(ОбластьШапки);

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

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


ИтогоСумма = 0;

Пока Выборка.Следующий() Цикл
ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры,Выборка);
        
    ИтогоСумма = ИтогоСумма + Выборка.Сумма;


    ТабДок.Вывести(ОбластьДанные);
КонецЦикла;



ОбластьПодвал.Параметры.ИтогоСумма      = ИтогоСумма;
ТабДок.Вывести(ОбластьПодвал);


Ошибка Не удалось сформировать внешнюю печатную форму!
Преобразование значения к типу Число не может быть выполнено


EMigachev
27.09.2015 19:09Ответ № 3

полный текст ошибки в студию!

весть текст из кнопки подробнее

IBReiter
28.09.2015 08:53Ответ № 4

Для начала попробуйте разыменование полей убрать из второй таблицы

Потом: у вас из первой таблицы выбирается Строка, СсылкаНоменклатура, Строка, Число - а из второй таблицы Строка, СсылкаНоменклатура, Строка, Строка

Поле ЗавНомер должно быть числом, а не строкой

Подсказка: Вы можете приложить к ответу файл или изображение щелкнув по значку или в редакторе.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.