Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вызвать процедуру формы из другой формы

Вызвать процедуру формы из другой формы
Я
   JuixyJes
 
10.10.19 - 11:16
Доброе утро день вечер! Я в типовой УТ сделала копию формы Документа чек ККМ, доработала ее и мне нужно из другой формы, вызываемой из нее, вызвать процедуру печати которая в нетиповой форме
 
 
   JuixyJes
 
1 - 10.10.19 - 11:16
Функция Печать(ВладелецФ)
    ТабДок = Новый ТабличныйДокумент;
    Макет= Документы.ЧекККМ.ПолучитьМакет("Макет");
    ОбластьПриложение = Макет.ПолучитьОбласть("Приложение");
    ОбластьПриложение.Параметры.АдресГостиницы  = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ВладелецФ.Организация, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации, ТекущаяДатаСеанса(), Истина);
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ОрганизацииКонтактнаяИнформация.Тип КАК Тип,
    |    ОрганизацииКонтактнаяИнформация.Вид КАК Вид,
    |    ОрганизацииКонтактнаяИнформация.Представление КАК Представление,
    |    ОрганизацииКонтактнаяИнформация.Ссылка КАК Ссылка
    |ИЗ
    |    Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
    |ГДЕ
    |    ОрганизацииКонтактнаяИнформация.Ссылка = &Ссылка
    |    И ОрганизацииКонтактнаяИнформация.Вид.Наименование = ""Телефон""";
    
    Запрос.УстановитьПараметр("Ссылка", ВладелецФ.Организация);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьПриложение.Параметры.ТелГостиницы =  ВыборкаДетальныеЗаписи.Представление;
    КонецЦикла;
    ОбластьПриложение.Параметры.номерчека = ВладелецФ.Номер;
    ОбластьПриложение.Параметры.датачека = Формат(ВладелецФ.Дата, "ДФ='dd ММММ yyyy'");
    ОбластьПриложение.Параметры.Адрес = Строка(ВладелецФ.Адрес);
    ОбластьПриложение.Параметры.датаначала = ВладелецФ.ДатаНачала;
    ТабДок.Вывести(ОбластьПриложение);
    ОбластьСтрокаТ = Макет.ПолучитьОбласть("СтрокаТаблицы");
    сч = 0;
    для каждого стр из ВладелецФ.Товары Цикл
        ОбластьСтрокаТ.Параметры.сч = стр.НомерСтроки;
        ОбластьСтрокаТ.Параметры.вид = стр.Номенклатура;
        ОбластьСтрокаТ.Параметры.едизм = стр.Номенклатура.ЕдиницаИзмерения;
        ОбластьСтрокаТ.Параметры.колво = стр.КоличествоУпаковок;
        ОбластьСтрокаТ.Параметры.цена = стр.Цена;
        ОбластьСтрокаТ.Параметры.сумма = стр.Сумма;
        НДС = стр.СтавкаНДС;
        ТабДок.Вывести(ОбластьСтрокаТ);
    КонецЦикла;
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");                           
    ОбластьПодвал.Параметры.ИтогСумма = ВладелецФ.СуммаДокумента;
    ОбластьПодвал.Параметры.НДС = Число(ВладелецФ.СуммаДокумента) * Число(20/100);
    ОбластьПодвал.Параметры.СуммаПрописью = ЧислоПрописью(ОбластьПодвал.Параметры.ИтогСумма,"Л=ru_RU;ДП=Истина", "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2");
    ОбластьПодвал.Параметры.Пользователь = ВладелецФ.Кассир;
    ОбластьПодвал.Параметры.ТекущаяДата = Формат(ТекущаяДата(), "ДФ='dd ММММ yyyy'");
    ТабДок.Вывести(ОбластьПодвал);
    ТабДок.ОтображатьСетку=Ложь;
    ТабДок.Показать("Приложение");
КонецФункции

Функция РФЗ(ВФ);
     ВладелецФ = РеквизитФормыВЗначение(ВФ);
     Возврат ВладелецФ;
КонецФункции
&НаКлиенте
Процедура ПечатьПриложения(Команда)
    РФЗ(ВладелецФормы);
    Печать(ВФ);
КонецПроцедуры
   JuixyJes
 
2 - 10.10.19 - 11:17
Пыталась сделать так, добавив Функцию вот так
   JuixyJes
 
3 - 10.10.19 - 11:17
но ловлю ошибку, постоянно
   JuixyJes
 
4 - 10.10.19 - 11:17
ошибка отображения типов отсутствует отображение для типа формаклиентскогоприложения
   sitex
 
5 - 10.10.19 - 11:17
(0) Нажать Букву Я с  право от названия темы.
   JuixyJes
 
6 - 10.10.19 - 11:20
   JuixyJes
 
7 - 10.10.19 - 11:20
процедура выполняется, но вот с этой ошибкой (6)
   JuixyJes
 
8 - 10.10.19 - 11:22
Функция Печать(ВладелецФ)
    ТабДок = Новый ТабличныйДокумент;
    Макет= Документы.ЧекККМ.ПолучитьМакет("Макет");
    ОбластьПриложение = Макет.ПолучитьОбласть("Приложение");
    ОбластьПриложение.Параметры.АдресГостиницы  = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ВладелецФ.Организация, Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации, ТекущаяДатаСеанса(), Истина);
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ОрганизацииКонтактнаяИнформация.Тип КАК Тип,
    |    ОрганизацииКонтактнаяИнформация.Вид КАК Вид,
    |    ОрганизацииКонтактнаяИнформация.Представление КАК Представление,
    |    ОрганизацииКонтактнаяИнформация.Ссылка КАК Ссылка
    |ИЗ
    |    Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация
    |ГДЕ
    |    ОрганизацииКонтактнаяИнформация.Ссылка = &Ссылка
    |    И ОрганизацииКонтактнаяИнформация.Вид.Наименование = ""Телефон""";
    
    Запрос.УстановитьПараметр("Ссылка", ВладелецФ.Организация);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбластьПриложение.Параметры.ТелГостиницы =  ВыборкаДетальныеЗаписи.Представление;
    КонецЦикла;
    ОбластьПриложение.Параметры.номерчека = ВладелецФ.Номер;
    ОбластьПриложение.Параметры.датачека = Формат(ВладелецФ.Дата, "ДФ='dd ММММ yyyy'");
    ОбластьПриложение.Параметры.Адрес = Строка(ВладелецФ.Адрес);
    ОбластьПриложение.Параметры.датаначала = ВладелецФ.ДатаНачала;
    ТабДок.Вывести(ОбластьПриложение);
    ОбластьСтрокаТ = Макет.ПолучитьОбласть("СтрокаТаблицы");
    сч = 0;
    для каждого стр из ВладелецФ.Товары Цикл
        ОбластьСтрокаТ.Параметры.сч = стр.НомерСтроки;
        ОбластьСтрокаТ.Параметры.вид = стр.Номенклатура;
        ОбластьСтрокаТ.Параметры.едизм = стр.Номенклатура.ЕдиницаИзмерения;
        ОбластьСтрокаТ.Параметры.колво = стр.КоличествоУпаковок;
        ОбластьСтрокаТ.Параметры.цена = стр.Цена;
        ОбластьСтрокаТ.Параметры.сумма = стр.Сумма;
        НДС = стр.СтавкаНДС;
        ТабДок.Вывести(ОбластьСтрокаТ);
    КонецЦикла;
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");                           
    ОбластьПодвал.Параметры.ИтогСумма = ВладелецФ.СуммаДокумента;
    ОбластьПодвал.Параметры.НДС = Число(ВладелецФ.СуммаДокумента) * Число(20/100);
    ОбластьПодвал.Параметры.СуммаПрописью = ЧислоПрописью(ОбластьПодвал.Параметры.ИтогСумма,"Л=ru_RU;ДП=Истина", "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2");
    ОбластьПодвал.Параметры.Пользователь = ВладелецФ.Кассир;
    ОбластьПодвал.Параметры.ТекущаяДата = Формат(ТекущаяДата(), "ДФ='dd ММММ yyyy'");
    ТабДок.Вывести(ОбластьПодвал);
    ТабДок.ОтображатьСетку=Ложь;
    ТабДок.Показать("Приложение");
КонецФункции


&НаКлиенте
Процедура ПечатьПриложения(Команда)
    Печать(ВладелецФормы.Объект);
КонецПроцедуры
   JuixyJes
 
9 - 10.10.19 - 11:22
вот код
   JuixyJes
 
10 - 10.10.19 - 11:24
Все, извините за тему, разобралась
   Aleksandr N
 
11 - 10.10.19 - 11:25
(10) Интересно как.
   JuixyJes
 
12 - 10.10.19 - 11:25
&НаКлиенте
Процедура ПечатьПриложения(Команда)
    вф = ВладелецФормы.Объект;
    Печать(вф);
КонецПроцедуры
   JuixyJes
 
13 - 10.10.19 - 11:25
Неправильно передавала владельца формы
   Aleksandr N
 
14 - 10.10.19 - 11:27
(12) А я думал так:
Функция Печать(Знач ВладелецФ)
   JuixyJes
 
15 - 10.10.19 - 11:27
(14) точно, ахах, плавлюсь по тихоньку

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.