11.4.7.114 (последняя вроде на сегодня версия)
Есть база, в которой некое количество видов номенклатуры. У каждого вида набор допреквизитов.
Есть такая же пустая база.
Переношу из первой во вторую виды номенклатуры с допреквизитами. Правила написал, виды, наборы, план видов характеристик. Не забыл типы значений. В видах номенклатуры все вроде нормально, допреквизиты, наборы, все ок.
Делаем новую номенклатуру - норм. Но потом открываем закладку "Карточка", кликаем там в любой допреквизит и получаем ошибку
Код процедуры вот такой. Расшифровка имеет тип Строка и выглядит вот так
Что ей надо?
Есть база, в которой некое количество видов номенклатуры. У каждого вида набор допреквизитов.
Есть такая же пустая база.
Переношу из первой во вторую виды номенклатуры с допреквизитами. Правила написал, виды, наборы, план видов характеристик. Не забыл типы значений. В видах номенклатуры все вроде нормально, допреквизиты, наборы, все ок.
Делаем новую номенклатуру - норм. Но потом открываем закладку "Карточка", кликаем там в любой допреквизит и получаем ошибку
{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(1825)}: Необрабатываемый тип параметр расшифровки.
Код процедуры вот такой. Расшифровка имеет тип Строка и выглядит вот так
ДополнительныйРеквизитЗначение_E2DBC868x68BCx11E8x8B97x000C2961BCC3_B26F9853xBF58x11E8xB9A5x000C2961BCC3
Если Не Элементы.ГруппаГруппировкаЛевоПраво.Видимость Тогда
Элементы.ГруппаГруппировкаЛевоПраво.Видимость=Истина;
КонецЕсли;
Если ТипЗнч(Расшифровка) = Тип("Строка")
Или ТипЗнч(Расшифровка) = ТипЗнч(Расшифровка) = Тип("ФорматированнаяСтрока") Тогда
ИмяЭлемента = Расшифровка;
Гиперссылка = "";
ИначеЕсли ТипЗнч(Расшифровка) = Тип("Структура") Тогда
ИмяЭлемента = Расшифровка.ИмяЭлемента;
Гиперссылка = Расшифровка.Гиперссылка;
Иначе
ТекстИсключения = НСтр("ru = 'Неподдерживаемый тип параметры расшифровки.'");
ВызватьИсключение ТекстИсключения;
КонецЕсли;
Если СтрНайти(ИмяЭлемента, "ГиперссылкаПерейти") <> 0 Тогда
ПараметрыПереходаПоГиперссылке = ПараметрыПереходаПоГиперссылке(ИмяЭлемента, Гиперссылка);
ГиперссылкаПерейтиСформироватьПараметрыИВопрос(ПараметрыПереходаПоГиперссылке);
ИначеЕсли Элементы.Найти(ИмяЭлемента) <> Неопределено Тогда
Если ЕстьПравоРедактирования Тогда
Элементы.СтраницыКарточкаНоменклатуры.ТекущаяСтраница = Элементы.СтраницаРеквизитыНоменклатуры;
РазвернутьСворачиваемуюГруппу(ИмяЭлемента);
ТекущийЭлементВыбор = ИмяЭлемента;
ПодключитьОбработчикОжидания("УстановитьАктивностьТекущийЭлемент",0.0001,Истина);
Иначе
Если Объект.Свойство(ИмяЭлемента) Тогда
Если ТипЗнч(Объект[ИмяЭлемента]) <> Тип("Строка")
И ТипЗнч(Объект[ИмяЭлемента]) <> Тип("Булево")
И ЗначениеЗаполнено(Объект[ИмяЭлемента]) Тогда
ПоказатьЗначение(,Объект[ИмяЭлемента]);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Иначе
ТекстИсключения = НСтр("ru = 'Необрабатываемый тип параметр расшифровки.'");
ВызватьИсключение ТекстИсключения;
КонецЕсли;
ПоказатьЧто ей надо?
По теме из базы знаний
- Патент в чеке ККМ для УТ 11.4.6, 11.4.7 - 11.4.11 (ПРОФ)
- Очистка дополнительных реквизитов в УТ 11.4.х
- Интеграция базы данных автомобилей, марок, моделей в УНФ
- Перенос номенклатуры в характеристики и редактирование дополнительных реквизитов номенклатуры и характеристик в УТ 11, КА 2, ERP 2
- Выгрузка из БП 3.0 в УТ 11.4
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Лишнего перенесли.
У вас строка расшифровки скорей всего из старой базы, т.е.
ДополнительныйРеквизитЗначение_E2DBC868x68BCx11E8x8B97x000C2 961BCC3_B26F9853xBF58x11E8xB9A5x000C2961BCC3
не равно названию элемента допреквизита, который формируется по уникальному идентификатору.
У вас строка расшифровки скорей всего из старой базы, т.е.
ДополнительныйРеквизитЗначение_E2DBC868x68BCx11E8x8B97x000C2
не равно названию элемента допреквизита, который формируется по уникальному идентификатору.
ИмяРеквизитаЗначение = "ДополнительныйРеквизитЗначение_" + СтрЗаменить(ВРег(Строка(ОписаниеСвойства.Набор.УникальныйИдентификатор())), "-", "x") + "_" + СтрЗаменить(ВРег(Строка(ОписаниеСвойства.Свойство.УникальныйИдентификатор())), "-", "x");
(3) нашел в коде это место, где формируется имя реквизита на форме.
Сравнил с тем, что в ошибке. Они одинаковые.
УИДы берутся же из этой же базы, т.е. уж какие тут есть, такие и есть. Из старой базы они ни в какие отдельные реквизиты не записываются.
Пока остается непонятным.
Сравнил с тем, что в ошибке. Они одинаковые.
УИДы берутся же из этой же базы, т.е. уж какие тут есть, такие и есть. Из старой базы они ни в какие отдельные реквизиты не записываются.
Пока остается непонятным.
(6) Нет, там этих элементов на форме нет. Они выводятся в поле табличного документа, а открываются для редактирования через обработку расшифровки. Закладка "Карточка" формы элемента номенклатуры.
А! может там еще кроме табличного документа должны создаваться где-то и элементы формы? а не создаются. Может так?...
А! может там еще кроме табличного документа должны создаваться где-то и элементы формы? а не создаются. Может так?...
(8)
Это глюк конфигурации - если выбрать ВидНоменкл поставленный на удаление то как раз это и будет происходить, сейчас в отладчике пару часов отлавливал (1с как обычно и не чешется по этому поводу):
Альтернативное решение:
МетаданныеВладельцаЗначенийСвойствНабора(СвойстваСсылки.Значение, Истина, ТипСсылки) - вот если тут вместо истина подставить ложь, тоже будет работать, но только будут показываться свойства помеченного на удаление ВидаНом.
Это глюк конфигурации - если выбрать ВидНоменкл поставленный на удаление то как раз это и будет происходить, сейчас в отладчике пару часов отлавливал (1с как обычно и не чешется по этому поводу):
Процедура ЗаполнитьНаборыСДополнительнымиРеквизитами(ВсеНаборы, НаборыСРеквизитами) Экспорт
Ссылки = ВсеНаборы.ВыгрузитьКолонку("Набор");
Индекс = Ссылки.Найти(Неопределено);
Пока Индекс <> Неопределено Цикл
Ссылки.Удалить(Индекс);
Индекс = Ссылки.Найти(Неопределено);
КонецЦикла;
СвойстваСсылок = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(
Ссылки, "ПометкаУдаления, ЭтоГруппа, Предопределенный, Родитель, ИмяПредопределенныхДанных, ИмяПредопределенногоНабора");
Для Каждого СвойстваСсылки Из СвойстваСсылок Цикл
ТипСсылки = Неопределено;
МетаданныеВладельца = МетаданныеВладельцаЗначенийСвойствНабора(СвойстваСсылки.Значение, Истина, ТипСсылки);
Если МетаданныеВладельца = Неопределено Тогда
//Возврат; //Юрий изза одного пом. на уд. видаНоменкл происходила потеря структуры общих реквизитов!
продолжить;//Юрий
КонецЕсли;
ПоказатьАльтернативное решение:
МетаданныеВладельцаЗначенийСвойствНабора(СвойстваСсылки.Значение, Истина, ТипСсылки) - вот если тут вместо истина подставить ложь, тоже будет работать, но только будут показываться свойства помеченного на удаление ВидаНом.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот