Имя: Пароль:
1C
1С v8
Внешняя обработка, заполнения ТЧ, документа Установка цен номенклатуры отладка и подключен
0 SkillUp
 
09.04.20
11:59
Здравствуйте, помогите разобраться.

Во внешней обработке, заполнения ТЧ документа-Установка цен номенклатуры (Обычные формы). В режиме отладки все отлично, при подключении к базе в ошибка к базе: Заполнение ТЧ не произведено!
Поле объекта не обнаружено (ТаблицаЦен)


Мой код:
Об = ЭтотОбъект.СсылкаНаОбъект.Ссылка;
    ФормаДокумента = Об.ПолучитьФорму();
    ТипыЦен = ФормаДокумента.ТипыЦен;
    ТаблицаЦен = ФормаДокумента.ТаблицаЦен;
1 Михаил Козлов
 
09.04.20
12:01
Вам нужно заполнить табличную часть, а не таблицу значений на форме.
2 SkillUp
 
09.04.20
12:08
(1) Пытаюсь использовать типовую процедуру
Только, вначале этой процедуры определяю ТаблицаЦен;

    Об = ЭтотОбъект.СсылкаНаОбъект.Ссылка;
    ФормаДокумента = Об.ПолучитьФорму();  
    ТаблицаЦен = ФормаДокумента.ТаблицаЦен;


Процедура ЗаполнитьТовары(Очистить, Обновить, ПоЦенамКонтрагентов)

    Если ТаблицаЦен.Количество() > 0 И Очистить Тогда
        ТекстВопроса = "Перед заполнением табличная часть будет очищена. Заполнить?";
        Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , , Метаданные().Представление());
        Если Ответ <> КодВозвратаДиалога.Да Тогда
            Возврат;
        КонецЕсли;

        ТаблицаЦен.Очистить();
    КонецЕсли;

    Если Очистить И НЕ ТипЗнч(ПоЦенамКонтрагентов) = Тип("Строка") И ПоЦенамКонтрагентов Тогда
        ТипыЦен.Очистить();
        СписокТиповЦен.Очистить();
    КонецЕсли;

    ФормированиеЦен = Обработки.ФормированиеЦен.Создать();
    ФормаЗаполнения = ФормированиеЦен.ПолучитьФорму("ФормаЗаполнения", ЭтаФорма);

    ФормированиеЦен.мКоманда = "Изменить";

    Если ПоЦенамКонтрагентов Тогда
        
        ФормаЗаполнения.ИмяРегистра = "ЦеныНоменклатурыКонтрагентов";
        
    Иначе
        
        ФормаЗаполнения.ИмяРегистра = "ЦеныНоменклатуры";

        ТаблицаТиповЦен = ТипыЦен.Выгрузить();
        ТаблицаТиповЦен.Колонки.ТипЦен.Имя = "ТипЦенСкидок";
        ФормированиеЦен.ТипыЦенСкидок.Загрузить(ТаблицаТиповЦен);
        
    КонецЕсли;

    Если Обновить Тогда
        СписокНоменклатуры = Новый СписокЗначений;
        СписокНоменклатуры.ЗагрузитьЗначения(ТаблицаЦен.ВыгрузитьКолонку("Номенклатура"));
        ФормаЗаполнения.мСписокНоменклатуры = СписокНоменклатуры;
    КонецЕсли;

    ФормаЗаполнения.ОткрытьМодально();

    УстановитьПодменюВыбораИзмененияПоТипуЦен(ЭлементыФормы.КоманднаяПанельТаблицыТиповЦен.Кнопки.ДействиеИзменить,
                                              Новый Действие("КоманднаяПанельТаблицыТиповЦенДействиеИзменить"));
3 SkillUp
 
09.04.20
12:09
(1) В отладке все отлично...
4 SkillUp
 
09.04.20
12:10
(1) Просто, мне надо еще и отбор ставить, на добавляемую номенклатуру...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс