| 
    
            
         
         | 
    
  | 
Программный ввод на основании | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Lannia    
     31.05.17 
            ✎
    12:32 
 | 
         
        Доброго времени суток. Стандартный ввод на основании не подходит потому, что нужно открывать разные формы документов, а в стандартном обработчике он открывает главную форму документа. 
 
        Вот часть кода, которая открывает нужную форму: Код: &НаСервере Процедура СоздатьДокумент() ДО = Документы.ЗаказНаряд.СоздатьДокумент(); КонецПроцедуры &НаКлиенте Процедура ЗаказНаряд(Команда, Элемент) СоздатьДокумент(); ЗначенияЗаполнения = Новый Структура; ЗначенияЗаполнения.Вставить("Владелец", Объект.Ссылка); ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("ЗначенияЗаполнения", ЗначенияЗаполнения); ОткрытьФорму("Документ.ЗаказНаряд.Форма.ФормаДокументаБН", ПараметрыФормы, Элемент); КонецПроцедуры Форма, где заполняются пришедшие данные: Код: Если ДанныеЗаполнения <> Неопределено И ТипЗнч(ДанныеЗаполнения)= Тип("Структура") Тогда // Заполнение шапки Автомобиль = ДанныеЗаполнения.Автомобиль; Автор = ДанныеЗаполнения.Автор; ВидРемонта = ДанныеЗаполнения.ВидРемонта; И собственно сама ошибка: {Документ.ЗаявкаНаРемонт.Форма.ФормаДокументаБН.Форма(223)}: Ошибка при вызове метода контекста (ОткрытьФорму) ОткрытьФорму("Документ.ЗаказНаряд.Форма.ФормаДокументаБН", ПараметрыФормы, Элемент); по причине: Ошибка при выполнении обработчика - 'ОбработкаЗаполнения' по причине: {Документ.ЗаказНаряд.МодульОбъекта(27)}: Поле объекта не обнаружено (Автомобиль) Автомобиль = ДанныеЗаполнения.Автомобиль; Хотя такой реквизит в документе имеется.  | 
|||
| 
    1
    
        Lexey_    
     31.05.17 
            ✎
    12:34 
 | 
         
        (0) "Поле объекта не обнаружено (Автомобиль)"
 
        Поле Автомобиль объекта ДанныеЗаполнения не обнаружено  | 
|||
| 
    2
    
        Lannia    
     31.05.17 
            ✎
    12:36 
 | 
         
        По отладке было видно что структура передалась. Тогда что неверно в следующем коде?:
 
        ЗначенияЗаполнения = Новый Структура; ЗначенияЗаполнения.Вставить("Владелец", Объект.Ссылка); ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("ЗначенияЗаполнения", ЗначенияЗаполнения); ОткрытьФорму("Документ.ЗаказНаряд.Форма.ФормаДокументаБН", ПараметрыФормы, Элемент);  | 
|||
| 
    3
    
        Lexey_    
     31.05.17 
            ✎
    12:37 
 | 
         
        (2) нет поля Автомобиль     
         | 
|||
| 
    4
    
        Lannia    
     31.05.17 
            ✎
    12:42 
 | 
         
        Я написала выше, что такой реквизит точно есть в документе. Что в одном, что в другом. Значит, получается, он просто не передает данные для заполнения на другую форму.
 
        Но ошибку в коде я не вижу.  | 
|||
| 
    5
    
        Lexey_    
     31.05.17 
            ✎
    12:49 
 | 
         
        (4) я написал выше, что дело не в реквизите     
         | 
|||
| 
    6
    
        Lannia    
     31.05.17 
            ✎
    12:51 
 | 
         
        Вопрос остается тем же, где тогда искать ошибку? 
 
        Ясно что он никакие данные не передал. Объект этот сохранила и все равно та же ошибка.  | 
|||
| 
    7
    
        Lexey_    
     31.05.17 
            ✎
    12:54 
 | 
         
        (6) еще раз: ошибка здесь: ДанныеЗаполнения.Автомобиль, смотри отладчиком     
         | 
|||
| 
    8
    
        Ц_У    
     31.05.17 
            ✎
    12:57 
 | 
         
        ЗначенияЗаполнения тут равно ДанныеЗаполения там, ты передаешь структуру с ключом "Владелец" но там нет ключа "Автомобиль"
 
        Или пиши в заполнении с проверкой свойств: Если ДанныеЗаполнения.Свойство("Автомобиль") Тогда Автомобиль = ДанныеЗаполнения.Автомобиль;  | 
|||
| 
    9
    
        Buster007    
     31.05.17 
            ✎
    12:58 
 | 
         
        автор в танке )
 
        Lexey_, скоро пробьет броню..  | 
|||
| 
    10
    
        Мимохожий Однако    
     31.05.17 
            ✎
    12:58 
 | 
         
        (6) Ищи там, где собираешь параметры для заполнения на основании Отладчик     
         | 
|||
| 
    11
    
        Lannia    
     31.05.17 
            ✎
    12:58 
 | 
         
        Да приходит ему Структура и стопорится дальше на реквизите ДанныеЗаполнения.Автомобиль, при этом там отладчик ничего не показывает.     
         | 
|||
| 
    12
    
        Lannia    
     31.05.17 
            ✎
    12:59 
 | 
         
        Ц_У, спасибо за нормальное объяснение.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |