8.х проблема с печатной формой

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Vladimir557, 18 мар 2010.

  1. TopicStarter Overlay
    Vladimir557
    Offline

    Vladimir557

    Регистрация:
    18 мар 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Помогите пожалуйста кто-нибудь,я недавно стал изучать программирование в 1С.Не могу вывести в печатной форме сумму прописью.

    Код:
    Функция СформироватьТабличныйДокумент()
    
    КоличествоНаСтранице = 1;
    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокументВрем = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеТоваровУслуг_ОП5";
    
    //Если КоличествоНаСтранице > 1 Тогда 
    //	ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    //КонецЕсли;
    
    Макет = ПолучитьМакет("ОП5");
    
    ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
    ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект);
    ОбластьМакета.Параметры.ДатаДокумента = Формат(СсылкаНаОбъект.Дата,"ДФ=dd.MM.yyyy") + " г.";
    ОбластьМакета.Параметры.ПредставлениеОрганизации = СсылкаНаОбъект.Организация; 
    
    ТабДокументВрем.Вывести(ОбластьМакета);
    // ТабДокументВрем.Вывести(Макет.ПолучитьОбласть("ШапкаТаблицы"));
    
    
    Для Каждого СтрокаТаблЧасти Из СсылкаНаОбъект.Товары Цикл
    ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы");
    ОбластьМакета.Параметры.Заполнить(СтрокаТаблЧасти);
    
    
    ОбластьМакета.Параметры.Код = СтрокаТаблЧасти.Номенклатура.Код;
    ОбластьМакета.Параметры.ЕдиницаИзмерения = СтрокаТаблЧасти.ЕдиницаИзмерения;
    
    ОбластьМакета.Параметры.Номенклатура	= СтрокаТаблЧасти.Номенклатура;
    
    
    ОбластьМакета.Параметры.Количество      = СтрокаТаблЧасти.Количество;
    ОбластьМакета.Параметры.Цена 			= СтрокаТаблЧасти.Цена;
    ОбластьМакета.Параметры.Сумма 			= СтрокаТаблЧасти.Сумма;
    ТабДокументВрем.Вывести(ОбластьМакета);
    КонецЦикла;
    
    ОбластьМакета = Макет.ПолучитьОбласть("ПодвалТаблицы");
    //ОбластьМакета.Параметры.КоличествоИтого = СсылкаНаОбъект.Товары.Итог("Количество");
    //ОбластьМакета.Параметры.ЦенаИтого 		= СсылкаНаОбъект.Товары.Итог("Цена");
    ОбластьМакета.Параметры.СуммаИтого 		= СсылкаНаОбъект.Товары.СуммаИтог("Сумма");
    ТабДокументВрем.Вывести(ОбластьМакета);
    
    ОбластьМакета=Макет.ПолучитьОбласть("Подвал");
    ОбластьМакета.Параметры.СуммаПрописью      = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаИтого,);
    
    
    Если КоличествоНаСтранице > 1 Тогда 
    //ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    ТабДокумент.Присоединить(ТабДокументВрем);
    ТабДокумент.Присоединить(ТабДокументВрем);
    Иначе
    ТабДокумент.Вывести(ТабДокументВрем);
    КонецЕсли;
    
    Возврат ТабДокумент;
    
    КонецФункции
    
    Функция Печать(ИмяМакета = "", КоличествоЭкземпляров = 1, НаПринтер = Ложь, НепосредственнаяПечать = Ложь) Экспорт
    
    ТабДокумент = СформироватьТабличныйДокумент();
    
    УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект.ПолучитьОбъект(), ""), НепосредственнаяПечать);
    
    КонецФункции
    
    Сама печатная форма Посмотреть вложение 3609

    Вложения:

  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    А что именно не получается? вы же не указали в какой валюте.

    Попробуйте так

    ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаИтого,Справочники.Валюты.НайтиПоКоду("810"));

    или там обращайтесь к переменной валюта регламентированного учета. номожно итак если рубли у вас
  3. TopicStarter Overlay
    Vladimir557
    Offline

    Vladimir557

    Регистрация:
    18 мар 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Вывел вот так
    ОбластьМакета.Параметры.СуммаПрописью = ЧислоПрописью(СсылкаНаОбъект.СуммаДокумента,,СсылкаНаОбъект.ВалютаДокумента.ПараметрыПрописиНаРусском);
    Сейчас не могу вывести Руководители
    Руководители = ОбщегоНазначения.ОтветственныеЛица(СсылкаНаОбьект.Руководители, СсылкаНаОбьект.ДатаДокумента);

    ОбластьМакета.Параметры.ФИОРуководителя = Руководители.РуководительПредставление;
    ОбластьМакета.Параметры.ДолжностьРуководителя = Руководители.РуководительДолжность;
    Может кто знает поделитесь.а то такими темпами програмировать буду до нового года
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Какая конфигурация.?
    или пришлите что возвращает эта функция? просто у меня в УПП нет.
    ОбщегоНазначения.ОтветственныеЛица(СсылкаНаОбьект.Руководители, СсылкаНаОбьект.ДатаДокумента);

    я думаю тут ошибка

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

    ОбластьМакета.Параметры.ФИОРуководителя = Руководители.РуководительПредставление;
    ОбластьМакета.Параметры.ДолжностьРуководителя = Руководители.РуководительДолжность;

    Посмотрите в отладчике какие поля есть у переменной руководителеь.я не думаю что они называются РуководительПредставление иил РуководительДолжность, а как нить ФИО или Должность и тогда будет выгялдеть так

    ОбластьМакета.Параметры.ФИОРуководителя = Руководители.ФИО;
    ОбластьМакета.Параметры.ДолжностьРуководителя = Руководители.Должность;

    Выложите описание или кож этой функции
  5. TopicStarter Overlay
    Vladimir557
    Offline

    Vladimir557

    Регистрация:
    18 мар 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Руководителей вывел вот так
    Руководители = ОбщегоНазначения.ОтветственныеЛица(СсылкаНаОбъект.Организация, СсылкаНаОбъект.Дата);
    ОбластьМакета.Параметры.ФИОРуководителя = Руководители.РуководительПредставление;
    ОбластьМакета.Параметры.ДолжностьРуководителя = Руководители.РуководительДолжность;
    Сейчас загвоздка вывести контрагента

    Функция СформироватьТабличныйДокумент()


    КоличествоНаСтранице = 1;

    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокументВрем = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеТоваровУслуг_ОП5";

    Макет = ПолучитьМакет("ОП5");
    ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
    ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект);
    ОбластьМакета.Параметры.ДатаДокумента = Формат(СсылкаНаОбъект.Дата,"ДФ=dd.MM.yyyy") + " г.";
    Руководители = ОбщегоНазначения.ОтветственныеЛица(СсылкаНаОбъект.Организация, СсылкаНаОбъект.Дата);
    ОбластьМакета.Параметры.ФИОРуководителя = Руководители.РуководительПредставление;
    ОбластьМакета.Параметры.ДолжностьРуководителя = Руководители.РуководительДолжность;

    ОбластьМакета.Параметры.ПредставлениеОрганизации = СсылкаНаОбъект.Организация;
    ОбластьМакета.Параметры.КодОКПО = СсылкаНаОбъект.Организация.КодПоОКПО;
    ОбластьМакета.Параметры.ПредставлениеПоставщика = СсылкаНаОбьект.Контрагент; //этот параметр не могу вывести

    ТабДокументВрем.Вывести(ОбластьМакета);


    Для Каждого СтрокаТаблЧасти Из СсылкаНаОбъект.Товары Цикл
    ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы");
    ОбластьМакета.Параметры.Код = СтрокаТаблЧасти.Номенклатура.Код ;
    ОбластьМакета.Параметры.ЕдИзм = СтрокаТаблЧасти.ЕдиницаИзмерения;
    ОбластьМакета.Параметры.ЕдиницаИзмеренияКодПоОКЕИ = СтрокаТаблЧасти.ЕдиницаИзмерения.Код;
    ОбластьМакета.Параметры.Номенклатура = СтрокаТаблЧасти.Номенклатура;

    ОбластьМакета.Параметры.Количество = СтрокаТаблЧасти.Количество;
    ОбластьМакета.Параметры.Цена = СтрокаТаблЧасти.Цена;
    ОбластьМакета.Параметры.Сумма = СтрокаТаблЧасти.Сумма;
    ТабДокументВрем.Вывести(ОбластьМакета);
    КонецЦикла;

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


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

    ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
    ОбластьМакета.Параметры.СуммаПрописью = ЧислоПрописью(СсылкаНаОбъект.СуммаДокумента,,СсылкаНаОбъект.ВалютаДокумента.ПараметрыПрописиНаРусском);
    ТабДокументВрем.Вывести(ОбластьМакета);

    Если КоличествоНаСтранице > 1 Тогда

    ТабДокумент.Присоединить(ТабДокументВрем);
    ТабДокумент.Присоединить(ТабДокументВрем);
    Иначе
    ТабДокумент.Вывести(ТабДокументВрем);
    КонецЕсли;

    Возврат ТабДокумент;

    КонецФункции
  6. TopicStarter Overlay
    Vladimir557
    Offline

    Vladimir557

    Регистрация:
    18 мар 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    забыл написать что у меня конфа Бухгалтерия 1.6.23.2

    Сейчас выдает такую ошибку
    {Обработка.ЗакупочныйАкт(22,55)}: Переменная не определена (СсылкаНаОбьект)
    ОбластьМакета.Параметры.ПредставлениеПоставщика = <<?>>СсылкаНаОбьект.Контрагент;
  7. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    СсылкаНаОбъект с Ъ знаком пишется. И я просил описание Функции ОтветственныеЛица, которая распологается в общем модуле а не вашей, но то же не помешает
  8. TopicStarter Overlay
    Vladimir557
    Offline

    Vladimir557

    Регистрация:
    18 мар 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Тема закрыта у меня все получилось!!!
  9. MaxT
    Offline

    MaxT

    Регистрация:
    24 сен 2010
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Спасибо за макет, запарился его в инете искать...

Поделиться этой страницей