Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 июн 2021, 08:32

Программный ввод на основании

Автор Lannia, 31 мая 2017, 11:39

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

Lannia

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

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


Форма, где заполняются пришедшие данные:
Если ДанныеЗаполнения <> Неопределено И ТипЗнч(ДанныеЗаполнения)= Тип("Структура") Тогда
// Заполнение шапки
Автомобиль = ДанныеЗаполнения.Автомобиль;
Автор = ДанныеЗаполнения.Автор;
ВидРемонта = ДанныеЗаполнения.ВидРемонта;


И собственно сама ошибка:
{Документ.ЗаявкаНаРемонт.Форма.ФормаДокументаБН.Форма(223)}: Ошибка при вызове метода контекста (ОткрытьФорму)
      ОткрытьФорму("Документ.ЗаказНаряд.Форма.ФормаДокументаБН", ПараметрыФормы, Элемент);
по причине:
Ошибка при выполнении обработчика - 'ОбработкаЗаполнения'
по причине:
{Документ.ЗаказНаряд.МодульОбъекта(27)}: Поле объекта не обнаружено (Автомобиль)
      Автомобиль = ДанныеЗаполнения.Автомобиль;

Хотя такой реквизит в документе имеется.

Lannia


oleg-x

Цитата: Lannia от 31 мая 2017, 13:30
Проблема решена.
Хоть бы написал как и в чем проблема была, а то вдруг у кого такая же ситуация будет.
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Lannia

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


Во первых, на всякий случай, нужно сохранить документ.
ЭтотОбъект.Записать();

Добавлено: 31 мая 2017, 18:23


И после ДанныеЗаполнения пишем .Владелец
Если ДанныеЗаполнения <> Неопределено И ТипЗнч(ДанныеЗаполнения)= Тип("Структура") Тогда
        // Заполнение шапки
        Автомобиль = ДанныеЗаполнения.Автомобиль;
        Автор = ДанныеЗаполнения.Автор;
        ВидРемонта = ДанныеЗаполнения.ВидРемонта;


Вот и все решение проблемы.

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск