Перенести печать заказ-наряда во внешнюю форму

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Перенести печать заказ-наряда во внешнюю форму, Подскажите, как перенести
 
Копирую из модуля объекта в обработку и возникает ошибка на строке
ВалютаПечатногоДокумента=зфВыборВалютыПечатногоДокумента(ДокументОбъект); в модуле стоял ЭтотОбъект я заменил на ДокументОбъект, но пишет, что реквизит валюта не найден. На что заменить ЭтотОбъект во внешней форме?



кусок кода:
Перем ИмяРеквизитаКода Экспорт;     // Кэш права "РежимВыводаКодаВДокументах". Служит для настройки вывода кода/артикула в ТЧ
Перем ФорматПредставленияГодаВыпускаАвтомобиля Экспорт; //Переменная с форматом отображения года выпуска автомобиля
Перем Права Экспорт; // Переменная объекта - ссылка на коллекцию прав, настроек и переменных окружения


Функция Печать(ДокументОбъект,ТабДокумент)Экспорт

ДатаПечатная = ?(обЗначениеНеЗаполнено(ДокументОбъект.ДатаЗакрытия),ДокументОбъект.ДатаСоздания,ДокументОбъект.ДатаЗакрытия);

Если ДокументОбъект.Ссылка.Состояние<>Справочники.ВидыСостоянийЗаказНарядов.Закрыт Тогда
//Контроль запрета печати без закрытия
Если НЕ обПраво("ПечатьЗаказНарядаБезЗакрытия",Права,,ДокументОбъект) Тогда
Сообщить("Печать заказ-наряда без его закрытия запрещена.");
Возврат Неопределено;
КонецЕсли;
КонецЕсли;
//Контроль запрета печати при наличии открытых заказ-нарядов
Если НЕ обПраво("ПечатьЗаказНарядаПриНаличииОткрытых",Права,,ДокументОбъект) Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЗаказНаряд.Ссылка) КАК Количество
|ИЗ
| Документ.ЗаказНаряд КАК ЗаказНаряд
|ГДЕ
| ЗаказНаряд.Состояние <> ЗНАЧЕНИЕ(Справочник.ВидыСостоянийЗаказНарядов.Закрыт) И
| ЗаказНаряд.ПометкаУдаления = ЛОЖЬ И
| ЗаказНаряд.Заказчик = &Заказчик И
| ЗаказНаряд.Ссылка <> &ЭтотДокумент";
Запрос.УстановитьПараметр("Заказчик",ДокументОбъект.Заказчик);
Запрос.УстановитьПараметр("ЭтотДокумент",ДокументОбъект.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Если Выборка.Количество>0 Тогда
Сообщить("Печать заказ-наряда заказчика "+ДокументОбъект.Заказчик.НаименованиеПолное+" запрещено, так как у него имеются другие открытые заказ-наряды.");
Возврат Неопределено;
КонецЕсли;
КонецЕсли;
КонецЕсли;

ВалютаПечатногоДокумента=зфВыборВалютыПечатногоДокумента(ДокументОбъект);
 
Вы абсолютно верно заменили "ЭтотОбъект" на "ДокументОбъект". Однако помимо этого в тексте функции, которую вы скопировали из модуля объекта, есть обращения к реквизитам объекта без прямого указания на "ЭтотОбъект". Они начинаются немного дальше того куска кода, который вы привели.

Поэтому в тех местах, где происходит обращение к реквизитам без явного указания на "ЭтотОбъект", вам нужно вручную приписать "ДокументОбъект." (эти места конфигуратор должен вам показать уже на этапе сохранения обработки).

Кроме того, в зависимости от версии, вам может понадобиться перенести в модуль вашей ВПФ функции "ПолучитьТаблицыРекомендаций" и "РасчитатьЦенуРекомендации", либо же сделать их экспортными в модуле объекта.
 
Добрый день, Константин!
Сотрудники компании 1С-Рарус не оказывают консультации по программированию на платформе 1С. Возможно, кто-то из участников форума даст Вам совет, это не запрещается правилами форума.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С