Версия для печати темы (https://pro1c.org.ua/index.php?s=f28f878ac54699960bac71a6afa86eb8&showtopic=62386)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Регистры сведений Ошибка Поле объекта не обнаружено

Автор: MOTOPARTNER 22.10.20, 0:03

1С Предприятие 8.3 УТ для Украины 2.3

При нажатии на поле к примеру ТТН я хочу добавить ТТН но мне пишет ошибку а должно появится окно что бы я мог поменять ТТН и все данные сохранились с новым ТТН


{Обработка.РМ.Форма.ФормаРМ.Форма(2435)}: Поле объекта не обнаружено (Посылка)
    ДанныеПосылки = РегистрыСведений.WMS_Посылки.ПолучитьДанныеПоПосылке(ВыбраннаяСтрока.Посылка);



Вот код в конфигурации что не так?

Процедура РегистрПосылокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    ДанныеПосылки = РегистрыСведений.WMS_Посылки.ПолучитьДанныеПоПосылке(ВыбраннаяСтрока.Посылка);
    
    Если Колонка.Имя = "Мест" Тогда
        Мест = ДанныеПосылки.Мест;
        Если не ВвестиЗначение(Мест,"Корректировка мест") Тогда
            Возврат;
        Иначе
            РегистрыСведений.WMS_Посылки.ОбновитьХарактеристикиПосылки(ВыбраннаяСтрока.Посылка,Мест);
        КонецЕсли;
    ИначеЕсли Колонка.Имя = "Вес" Тогда
        Вес = ДанныеПосылки.Вес;
        Если не ВвестиЗначение(Вес,"Корректировка веса") Тогда
            Возврат;
        Иначе
            РегистрыСведений.WMS_Посылки.ОбновитьХарактеристикиПосылки(ВыбраннаяСтрока.Посылка,,Вес);
        КонецЕсли;
    ИначеЕсли Колонка.Имя = "СпособДоставки" и (РольДоступна("ПолныеПрава") или РольДоступна("NEW_Старший_Бухгалтер")) Тогда
        ФормаВыбора = Справочники.WMS_СпособДоставкиОплатыКонтрагента.ПолучитьФормуВыбора();
        Если ТипЗнч(ВыбраннаяСтрока.Посылка) = Тип ("ДокументСсылка.РеализацияТоваровУслуг") Тогда
            ФормаВыбора.Отбор.Владелец.Значение = ВыбраннаяСтрока.Посылка.Контрагент;
            ФормаВыбора.Отбор.Владелец.Использование = Истина;
        Иначе
            ФормаВыбора.Отбор.АдресОтправителя.Значение = ВыбраннаяСтрока.Посылка.ДокументПередачи.СкладОтправитель;
            ФормаВыбора.Отбор.АдресОтправителя.Использование = Истина;
            
            ФормаВыбора.Отбор.АдресПолучателя.Значение = ВыбраннаяСтрока.Посылка.ДокументПередачи.СкладПолучатель;
            ФормаВыбора.Отбор.АдресПолучателя.Использование = Истина;
        КонецЕсли;
            
        ФормаВыбора.Заголовок = "Корректировка способа доставки";
        НовыйСпособДоставкиКонтрагента = ФормаВыбора.ОткрытьМодально();
        Если Не ЗначениеЗаполнено(НовыйСпособДоставкиКонтрагента) Тогда
            Возврат;
        КонецЕсли;
        РегистрыСведений.WMS_Посылки.ОбновитьХарактеристикиПосылки(ВыбраннаяСтрока.Посылка,,,НовыйСпособДоставкиКонтрагента);
        Сообщить("ВАЖНО: Свяжитесь со складом и уведомите чтобы переклеили стикеры!", СтатусСообщения.Важное);
    ИначеЕсли Колонка.Имя = "МестоХранения" Тогда
        ФормаМеста = Справочники.МестаХранения.ПолучитьФорму("ФормаВводаМестаХранения");
        Результат = ФормаМеста.ОткрытьМодально();
        Если Результат <> Неопределено Тогда
            НовоеМестоХранения = Справочники.МестаХранения.НайтиПоНаименованию(ФормаМеста.МестоХранения,Истина,,ццц);
            ФормаМеста = "";
            Если НовоеМестоХранения = Справочники.МестаХранения.ПустаяСсылка() Тогда
                Предупреждение ("Выбранное место хранения еще не созданно!");
                Возврат;
            Иначе
                РегистрыСведений.WMS_Посылки.ОбновитьХарактеристикиПосылки(ВыбраннаяСтрока.Посылка,,,,НовоеМестоХранения);
            КонецЕсли;
        КонецЕсли;    
    ИначеЕсли Колонка.Имя = "ТТН" Тогда
        ТТН = ДанныеПосылки.ТТН;
        Если не ВвестиЗначение(ТТН,"Корректировка ТТН") Тогда
            Возврат;
        Иначе
            РегистрыСведений.WMS_Посылки.ОбновитьХарактеристикиПосылки(ВыбраннаяСтрока.Посылка,,,,,ТТН);
        КонецЕсли;
    ИначеЕсли Колонка.Имя = "ЗаметкаДляСкладов" Тогда
        ЗаметкаДляСкладов = ДанныеПосылки.ЗаметкаДляСкладов;
        Если не ВвестиЗначение(ЗаметкаДляСкладов,"Заметка для складов") Тогда
            Возврат;
        Иначе
            РегистрыСведений.WMS_Посылки.ОбновитьХарактеристикиПосылки(ВыбраннаяСтрока.Посылка,,,,,,,,,,,ЗаметкаДляСкладов);
        КонецЕсли;
    ИначеЕсли Колонка.Имя = "Локация" Тогда    
        ФормаВыбораСклада = Справочники.Склады.ПолучитьФормуВыбора();
        ВыбранныйСклад = ФормаВыбораСклада.ОткрытьМодально();
        Если ВыбранныйСклад = НЕОПРЕДЕЛЕНО Тогда
            Возврат;
        КонецЕсли;
        ФормаВыбораСклада = "";
        РегистрыСведений.WMS_Посылки.ОбновитьХарактеристикиПосылки(ВыбраннаяСтрока.Посылка,,,,,,,,ВыбранныйСклад,,,);
    Иначе
        Возврат;
    КонецЕсли;
    
    КоманднаяПанельРегистрПосылокОбновить();
     РегистрПосылок.Обновить();
    
    ЭлементыФормы.РегистрПосылок.ТекущаяСтрока = ВыбраннаяСтрока;
    
КонецПроцедуры

Автор: pablo 22.10.20, 8:42

У Вас проблемы на форме. Поле посылка отображается на форме? Если нет, то ему нужно поставить галочку "Использовать всегда" в списке реквизитов формы.
Ошибся, в обычных формах проблема в другом.

Автор: MOTOPARTNER 22.10.20, 11:57

pablo @ Сегодня, 9:42 * ,
Это обработка Раб. место. и там есть посылки посылка это регистр свед. так вот при открытии поля не получается открыть и поменять

Автор: pablo 22.10.20, 13:12

1с пишет Вам, что у ВыбраннаяСтрока нет поля Посылка. А это означает, что на форме нет этого поля в табличной части

Автор: MOTOPARTNER 22.10.20, 16:51

pablo @ Сегодня, 14:12 * ,
Я так понимаю что должна быть процедура прописана ? так как поля есть везде и в регистре и в самой обработке.

Автор: pablo 23.10.20, 15:52

Сама обработка - это слишком обширное описание. Проверяйте свою ТЧ РегистрПосылок на форме. У нее должно быть поле Посылка

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua