Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 16:14
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Печатная форма  (Прочитано 1984 раз)

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

Оффлайн gliokker

  • ***
  • Сообщений: 231
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-04-30
  • Сайт: 
  • Профессия: Ученик 1С
Всем привет вот кусочек кода
   Запрос.УстановитьПараметр("Физлицо", СсылкаНаОбъект.Ссылка);


   Выборка = Запрос.Выполнить().Выбрать();
   Выборка.Следующий();   
   ТабДокумент = Новый ТабличныйДокумент;
   Макет = ПолучитьМакет("ТрудовойДоговор");
   ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
   ОбластьМакета.Параметры.Заполнить(Выборка);
   ТабДокумент.Вывести(ОбластьМакета);
   
    Если Выборка.НаименованиеОтпуска = "Доп. отпуск (ненормированный)" Тогда
      ОбластьМакета.Параметры.Сообщение = Строка("Работнику устанавливается ненормированный рабочий день.");
      Иначе ОбластьМакета.Параметры.Сообщение = "";
          КонецЕсли;

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

   ОбластьМакета.Параметры.ТарифнаяСтавка = ТарифнаяСтавка;
 
   
   
   ТабДокумент.Вывести(ОбластьМакета);
   
   ОбластьМакета = Макет.ПолучитьОбласть("Итог");
   ОбластьМакета.Параметры.Заполнить(Выборка);
   ТабДокумент.Вывести(ОбластьМакета);
   Возврат ТабДокумент;
При формировании выходит ошибка
Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (Сообщение)
Сообщение это параметр в макете. Подскажите в чём ошибка не могу понять.


Оффлайн gliokker

  • ***
  • Сообщений: 231
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-04-30
  • Сайт: 
  • Профессия: Ученик 1С
Re: Печатная форма
« Ответ #1: 05 Ноя 2013, 14:56 »
нету не каких вариантов?

Оффлайн demn

  • *
  • Сообщений: 17
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-09-26
  • Сайт: 
  • Профессия: Программист 1С
Re: Печатная форма
« Ответ #2: 07 Ноя 2013, 09:14 »
а НаименованиеОтпуска точно есть?

Оффлайн gliokker

  • ***
  • Сообщений: 231
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-04-30
  • Сайт: 
  • Профессия: Ученик 1С
Re: Печатная форма
« Ответ #3: 07 Ноя 2013, 12:41 »
а НаименованиеОтпуска точно есть?
Да есть. Всё переделал вот только не могу разобраться с прописью числа.Я делал пропись числа на сумму ну например 2 это два рубля
а как мне вывести чтоб число 2 писалось
как два календарных дня ну или 10 календарных дней?
Добавлено: 07 Ноя 2013, 12:46

Вот переделанный код
Запрос.УстановитьПараметр("Физлицо", СсылкаНаОбъект.Ссылка);


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

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

   ОбластьМакета = Макет.ПолучитьОбласть("Сотрудник1");
    ОбластьМакета.Параметры.Заполнить(Выборка);   
   ТабДокумент.Вывести(ОбластьМакета);
   
   ОбластьМакета = Макет.ПолучитьОбласть("Итог");
   ОбластьМакета.Параметры.Заполнить(Выборка);   
   ТабДокумент.Вывести(ОбластьМакета);
   Возврат ТабДокумент;
меня интересует как написать чтоб не рубли писались,может что то типа
       ПарПредмета="день,дня,дней";//ПрописьЧисла
да и нужно чтоб именно выводилось 2 календарных дня
Подскажите кто может ну или направьте на путь истинный)))
Добавлено: 07 Ноя 2013, 13:26

ОбластьМакета = Макет.ПолучитьОбласть("Заменяемая");
      ФормСтрока = "Л = ru_RU; ДП = Истина";
        ПарПредмета="календарный,календарного,календарных,м,день,дня,дней,м,";//ПрописьЧисла
        КоличествоДнейОтпуска = ЧислоПрописью(Выборка.КоличествоДнейОтпуска,ФормСтрока, ПарПредмета);
вот что получилось выводит
пять календарных ноль дней
как ноль убрать?

Последний раз редактировалось: gliokker; 07 Ноя 2013, 13:26. Причина: Объединение сообщений


Теги:
 

Форма "Взнос наличными в банк" где она :)

Автор lefantiy_94Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 4651
Последний ответ 30 Июн 2015, 03:50
от lefantiy_94
Вопрос по УНФ (форма "Задание на работу")

Автор tantonyРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 342
Последний ответ 22 Июн 2017, 18:22
от tantony
Как программно вызывать обработчик ПриИзменении поля табличной части после того, как форма была заполнена программно?

Автор ИстребительРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 4343
Последний ответ 27 Июл 2015, 06:21
от cska-fanat-kz
Для объекта не определена форма по умолчанию, соответствующая текущему режиму запуска. Объект: "Консоль Запросов"

Автор Азамат ХубиевРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 6358
Последний ответ 20 Июл 2016, 22:56
от Азамат Хубиев
Шаблон или Форма для заполнения "заказа покупателя"

Автор SandrРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 6585
Последний ответ 02 Сен 2013, 14:22
от LordWizard

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
172 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 800
  • Точка Скрытых: 0
  • Точка Пользователей: 11
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal