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

Вызов процедуры из модуля документа в модуле формы

Автор AlterMann, 28 янв 2013, 10:29

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

AlterMann

Здравствуйте.
Вопрос такой. Не получается вызвать процедуру из модуля документа в модуль формы. Код такой:

МОДУЛЬ ОБЪЕКТА (документа)
...
процедура ОбработкаПроведения(Отказ, РежимПроведения) экспорт
...

МОДУЛЬ ФОРМЫ ДОКУМЕНТА

&НаКлиенте

Процедура Печать(Команда)
...
ОбработкаПроведения(Отказ, РежимПроведения);


Выдается ошибка: процедура с именем ОбработкаПроведения () не определена.

Dethmontt

В форме

&НаСервере
Процедура гПровестиДокумент()
   Объект.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры

Добавлено: 28 янв 2013, 11:04


И прочтите это
http://www.cyberforum.ru/1c/thread764261-page2.html#post4033102
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

AlterMann

Цитата: Dethmontt от 28 янв 2013, 10:58
В форме

&НаСервере
Процедура гПровестиДокумент()
   Объект.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры

Выдает ту же ошибку. :(

Dethmontt

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

AlterMann

Модуль документа.
Процедура ОбработкаПроведения(Отказ, РежимПроведения)  Экспорт
             
Если ПроверитьЗаполнение() Тогда
ДвиженияДоставленныеПакинги = Движения.хз_ДоставленныеПакинги;
ДвиженияДоставленныеПакинги.Записывать = Истина;

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               | хз_ПакингДоставочныеЛисты.Ссылка КАК Пакинг,
               | хз_ПакингДоставочныеЛисты.ЗаказПокупателя,
               | хз_ПакингДоставочныеЛисты.Ссылка.Дата КАК Период,
               | хз_ПакингДоставочныеЛисты.Ссылка.СтатусДоставки
               |ИЗ
               | Документ.хз_Пакинг.ДоставочныеЛисты КАК хз_ПакингДоставочныеЛисты
               |ГДЕ
               | хз_ПакингДоставочныеЛисты.Ссылка = &Ссылка
               | И (хз_ПакингДоставочныеЛисты.Отгружен
               | ИЛИ хз_ПакингДоставочныеЛисты.Ссылка.СтатусДоставки = ЗНАЧЕНИЕ(Перечисление.хз_СтатусДоставки.ВПути))";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();

Если Не РезультатЗапроса.Пустой() Тогда
ДвиженияДоставленныеПакинги.Загрузить(РезультатЗапроса.Выгрузить());

КонецЕсли;

Иначе
ОбщегоНазначения.СообщитьОбОшибке("Не заполнены все обязательные реквизиты!", Отказ);

КонецЕсли;
 

КонецПроцедуры

Модуль формы.
&НаСервере
Процедура гПровестиДокумент()
Объект.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры

&НаКлиенте
Процедура Печать(Команда)
РежимПроведения = РежимПроведенияДокумента.Неоперативный;
отказ = ложь;


ОбработкаПроведения(Отказ, РежимПроведения);


ОбъектДокумента = РеквизитФормыВЗначение("Объект");
ИмяКлюча = "ПечатьДоставочногоЛиста" + "ВКоличестве";

ЗаданиеНаПечать = Новый Структура();
ЗаданиеНаПечать.Вставить("ПечатьДоставочногоЛиста", "ПечатьДоставочногоЛиста");
ЗаданиеНаПечать.Вставить(ИмяКлюча, 1);

ПечатьКомплектаДокументов(ЗаданиеНаПечать);

КонецПроцедуры

Dethmontt

//В модуле объекта описываем поведение проведения документа
&НаКлиенте
Процедура ПровестиМойДокумент() //В форме документа
    гПровестиДокумент();
КонецПроцедуры

&НаСервере
Процедура гПровестиДокумент() //В форме документа
      Об = РеквизитФормыВЗначение("Объект");
   Об.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Igor100500

а вот по  тойже схеме, мне нужно вызвать процедуру печати из общего модуля внешней обработки, на форму этой обработки, там есть кнопочка печать и при нажатии формируется макет.
там типа такого?
&НаКлиенте
Процедура Печать(Команда)

Макет = ПолучитьМакетНаСервере();

КонецПроцедуры

&НаСервере
функция СформироватьМакетНаСервере()
ЭтотОбъект1 = РеквизитФормыВЗначение("Объект");
Макет = ЭтотОбъект1.Печать();
Возврат Макет;
КонецФункции

Теги:

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

Рейтинг@Mail.ru

Поиск