БГУ 2.0 При загрузке внешней обработки вылетает ошибка
На строке
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(Параметры.ТипыКлассификаторов.ВыгрузитьЗначения());
{ВнешняяОбработка.ЗагрузкаКлассификаторовИзФайла.Форма.Форма.Форма(24)}: Поле объекта не обнаружено (ТипыКлассификаторов)
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(Параметры.ТипыКлассификаторов.ВыгрузитьЗначения());
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(Параметры.ТипыКлассификаторов.ВыгрузитьЗначения());
{ВнешняяОбработка.ЗагрузкаКлассификаторовИзФайла.Форма.Форма.Форма(24)}: Поле объекта не обнаружено (ТипыКлассификаторов)
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(Параметры.ТипыКлассификаторов.ВыгрузитьЗначения());
Найденные решения
(18) В таком случае чтобы обработку открыть, можете смело использовать мой код, слегка его модифицировав (раз уж речь о классификаторе продукции):
А что касается того, что команды у вас не видно, она завязана на функциональную опцию РаботаВЛокальномРежиме, которая хранится в константе НеИспользоватьРазделениеПоОбластямДанных и где-то в интерфейсе, скорее всего, настраивается. Где именно - хз, надо копаться.
СписокЗначений = Новый Массив;
СписокЗначений.Добавить("ОКПД");
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(СписокЗначений);
А что касается того, что команды у вас не видно, она завязана на функциональную опцию РаботаВЛокальномРежиме, которая хранится в константе НеИспользоватьРазделениеПоОбластямДанных и где-то в интерфейсе, скорее всего, настраивается. Где именно - хз, надо копаться.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Объект Параметры не инициализирован (скорее всего Неопределено), потому и поле объекта найти не может. Нужно копать в этом направлении. Прежде всего понять, когда происходит инициализация параметров, а чтобы убедиться можно в этом месте установить точку останова.
(2) Во всех процедурах и функциях наставил точек останова
В модуле объекта проходит только этот код
В модуле формы
И запинается на последней строке
Никакие Параметры в коде этих модулей нигде больше не присутствуют
В модуле объекта проходит только этот код
xmlnsXML = "http://www.w3.org/XML/1998/namespace";
xmlnsV8XDTO = "http://v8.1c.ru/8.1/xdto";
xmlnsОписанияТиповКлассификаторов = "urn:uuid:101fa9a0-ea86-11dc-afc4-0002a5d5c51b";
xmlnsКлассификатор = "urn:uuid:be515360-d4a7-11dc-8abf-0002a5d5c51b";
ДопДанные = Новый Соответствие;
// Запоминаем временные файлы, чтобы стереть по окончании работы.
ВременныеФайлы = Новый Массив;
МетаданныеКонфигурации = Метаданные;
СвойстваОбъектовМетаданных = МетаданныеКонфигурации.СвойстваОбъектов;
ПоказатьВ модуле формы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
xmlnsXML = "http://www.w3.org/XML/1998/namespace";
xmlnsV8XDTO = "http://v8.1c.ru/8.1/xdto";
xmlnsОписанияТиповКлассификаторов = "urn:uuid:101fa9a0-ea86-11dc-afc4-0002a5d5c51b";
xmlnsКлассификатор = "urn:uuid:be515360-d4a7-11dc-8abf-0002a5d5c51b";
Предупреждение = "В указанном файле не найдено данных для загрузки";
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(Параметры.ТипыКлассификаторов.ВыгрузитьЗначения());
КонецПроцедуры
ПоказатьИ запинается на последней строке
Никакие Параметры в коде этих модулей нигде больше не присутствуют
Нет в параметрах этой формы вообще ничего. Если добавить параметр ТипыКлассификаторов
{ВнешняяОбработка.ЗагрузкаКлассификаторовИзФайла.Форма.Форма.Форма(24)}: Значение не является значением объектного типа (ВыгрузитьЗначения)
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(Параметры.ТипыКлассификаторов.ВыгрузитьЗначения());
Что там вообще должно быть? Какие туда должны передаваться параметры при открытии?
{ВнешняяОбработка.ЗагрузкаКлассификаторовИзФайла.Форма.Форма.Форма(24)}: Значение не является значением объектного типа (ВыгрузитьЗначения)
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(Параметры.ТипыКлассификаторов.ВыгрузитьЗначения());
Что там вообще должно быть? Какие туда должны передаваться параметры при открытии?
(5) {ВнешняяОбработка.ЗагрузкаКлассификаторовИзФайла.Форма.Форма.Форма(24)}: Значение не является значением объектного типа (ВыгрузитьЗначения)
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(Параметры.ТипыКлассификаторов.ВыгрузитьЗначения());
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(Параметры.ТипыКлассификаторов.ВыгрузитьЗначения());
(14)
Вероятней всего, обработка изначально не внешняя, а выдернута из какой-то конфигурации, где открытие формы вызывается другой обработкой, которая в параметры формы загоняет список типов классификаторов. По хорошему надо находить этот код вызова, смотреть, какие значения туда заполняются, и здесь вместо этой строки просто инициализировать ручками этот список допустимых типов классификаторов.
Если у вас есть доступ к конфигуратору той базы, откуда эта обработка, попробуйте глобальным поиском найти её вызов и посмотреть, что передается в параметр ТипыКлассификаторов.
Вероятней всего, обработка изначально не внешняя, а выдернута из какой-то конфигурации, где открытие формы вызывается другой обработкой, которая в параметры формы загоняет список типов классификаторов. По хорошему надо находить этот код вызова, смотреть, какие значения туда заполняются, и здесь вместо этой строки просто инициализировать ручками этот список допустимых типов классификаторов.
Если у вас есть доступ к конфигуратору той базы, откуда эта обработка, попробуйте глобальным поиском найти её вызов и посмотреть, что передается в параметр ТипыКлассификаторов.
Судя по всему, эта форма вызывается из форм списка классификаторов ОКОФ и ОКПД. В одном случае в параметр формы ТипыКлассификаторов передается список значений с единственным значением "ОКОФ", в другом с единственным значением "ОКПД".
Соответственно, чтобы ваша форма открылась, можно попробовать вместо этой строки:
вставить что-нибудь подобное:
Не знаю, к чему это приведет, но ошибку конкретно в этой строке обойти позволит.
P.S.: Вы не указали, для каких целей открываете эту обработку как внешнюю, поэтому не понятно, стоит ли оба значения добавлять или только одно. Но в целом примерно так, наверное.
Соответственно, чтобы ваша форма открылась, можно попробовать вместо этой строки:
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(Параметры.ТипыКлассификаторов.ВыгрузитьЗначения());
вставить что-нибудь подобное:
СписокЗначений = Новый Массив;
СписокЗначений.Добавить("ОКОФ");
СписокЗначений.Добавить("ОКПД");
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(СписокЗначений);
Не знаю, к чему это приведет, но ошибку конкретно в этой строке обойти позволит.
P.S.: Вы не указали, для каких целей открываете эту обработку как внешнюю, поэтому не понятно, стоит ли оба значения добавлять или только одно. Но в целом примерно так, наверное.
(17) Выгрузил ее чтобы с поддержки не снимать, поковырять, разобраться.
Так понял вызываться она должна из справочника Общероссийский классификатор продукции, только у меня на форме нет этой кнопки в режиме предприятия, хотя в конфигураторе она есть.
И собственно код этой кнопки
Так понял вызываться она должна из справочника Общероссийский классификатор продукции, только у меня на форме нет этой кнопки в режиме предприятия, хотя в конфигураторе она есть.
И собственно код этой кнопки
&НаКлиенте
Процедура ЗагрузитьКлассификатор(Команда)
СписокЗначений = Новый СписокЗначений;
СписокЗначений.Добавить("ОКПД");
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ТипыКлассификаторов",СписокЗначений);
ОткрытьФорму("Обработка.ЗагрузкаКлассификаторовИзФайла.Форма.Форма",ПараметрыФормы);
КонецПроцедуры
ПоказатьПрикрепленные файлы:
(18) В таком случае чтобы обработку открыть, можете смело использовать мой код, слегка его модифицировав (раз уж речь о классификаторе продукции):
А что касается того, что команды у вас не видно, она завязана на функциональную опцию РаботаВЛокальномРежиме, которая хранится в константе НеИспользоватьРазделениеПоОбластямДанных и где-то в интерфейсе, скорее всего, настраивается. Где именно - хз, надо копаться.
СписокЗначений = Новый Массив;
СписокЗначений.Добавить("ОКПД");
Объект.ДопустимыеТипыКлассификаторов.ЗагрузитьЗначения(СписокЗначений);
А что касается того, что команды у вас не видно, она завязана на функциональную опцию РаботаВЛокальномРежиме, которая хранится в константе НеИспользоватьРазделениеПоОбластямДанных и где-то в интерфейсе, скорее всего, настраивается. Где именно - хз, надо копаться.
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот