Ср, 24.12.2025, 23:52:18
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Загрузка табличных данных Ошибка конвертации составного типа
4zakazaДата: Ср, 29.03.2023, 01:14:53 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 11
Репутация: 12
Статус: Оффлайн
Добрый день! Загрузка табличных данных. Ошибка при заполнении таблицы ввод начальных остатков. Легкая, без падений.
Лечится снятием галки где выбор колонок БД с Единицы измерения. Ну как лечится, единицы измерения на экспорт не могу поймать, столбец "искать по" не активен в этой строке, собственно, замена кода на штуки тоже не помогает как-то. Что я делаю не так?

Платформа: 8.3.20.2184
Режим БД: клиент-серверный
Конфигурация. Название: Управление нашей фирмой, редакция 3.0 (3.0.2.193)
Конфигурация. Основной режим запуска: Управляемое приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим управления блокировкой данных: Управляемый
Конфигурация. Режим совместимости: Версия8_3_17
Конфигурация. Режим использования синхронных вызовов: Использовать
Конфигурация. Версия БСП: 301
Конфигурация. Использовать обычные формы в управляемом приложении: Нет
Инструменты разработчика. Версия: Расширение 6.69.2e
Инструменты разработчика. Инструмент: Загрузка табличных данных
Инструменты разработчика. Перехват клавиатурного ввода: Да
Инструменты разработчика. Объекты на сервере: Да
Инструменты разработчика. Асинхронность запрещена: Нет
Инструменты разработчика. Разрешены имитаторы: Да
Расширения. Доработка ()
Расширения. ИнструментыРазработчикаTormozit (6.69.2e)
Клиент. Приложение: Управляемое приложение 32б
Клиент. Проверка модальных вызовов: Нет
Клиент. Язык интерфейса конфигурации: ru
Клиент. Язык интерфейса системы: ru
Клиент. Отладка разрешена: Нет
Клиент. Постоянный кэш метаданных: Да
Клиент. ОС: Microsoft Windows Server 2012 R2 Standard 64-разрядная Русский
Клиент. ОС от имени администратора: Нет
Клиент. ОС
Клиент. ОС выполнение BAT: Нет
Клиент. ОС пинг сервера: ?мс
Сервер. ОС: Майкрософт Windows Server 2016 Standard 64-разрядная Русский
Сервер. Процесс: 64б
Сервер. Отладка: нет

Цитата
Значение не является значением объектного типа (СодержитТип)
{ИнструментыРазработчикаTormozit Обработка.ирЗагрузкаТабличныхДанных.МодульОбъекта(1891)}:Если ПеречисленияВсеТипы.СодержитТип(ТипРеквизита) Тогда
{ИнструментыРазработчикаTormozit Обработка.ирЗагрузкаТабличныхДанных.МодульОбъекта(1790)}:Для каждого СтрокаСопоставления Из ПомеченныеКолонки Цикл  Если Ложь  Или Этап = 1 И СтрокаСопоставления.Зависимая  Или Этап = 2 И Не СтрокаСопоставления.Зависимая  Тогда  Продолжить;  КонецЕсли;  ОбластьЯчейки = Неопределено;  РезультатЯчейки = Неопределено;  НомерКолонкиДокумента = 0;  Примечание = "";  СтандартнаяОбработка = Истина;  ТекстЯчейки = "";  Если ЗначениеЗаполнено(СтрокаСопоставления.ИмяКолонкиИсточника) Тогда  НомерКолонкиДокумента = Число(СтрокаСопоставления.ИмяКолонкиИсточника);  ОбластьЯчейки = ЯчейкиСтроки[НомерКолонкиДокумента];  ТекстЯчейки = ТекстыЯчеек[НомерКолонкиДокумента];  КонецЕсли;  Если Ложь Тогда      ОбластьЯчейки = Новый ТабличныйДокумент;  ОбластьЯчейки = ОбластьЯчейки.Область();  КонецЕсли;  ОригинальныйТекстЯчейки = ТекстЯчейки;  РезультатЯчейки = СтрокаСопоставления.Значение;  Если ЗначениеЗаполнено(СтрокаСопоставления.Алгоритм) Тогда  Попытка  АлгоритмОбъект = ирОбщий.ДесериализоватьАлгоритмОбъектЛкс(СтрокаСопоставления.Алгоритм);  Если Ложь Тогда  АлгоритмОбъект = Обработки.ирИмитаторАлгоритмОбъект.Создать();  КонецЕсли;  Исключение  ВызватьИсключение "Ошибка десериализации алгоритма вычисления значения колонки " + СтрокаСопоставления.ИмяКолонкиПриемника + ": " + ОписаниеОшибки();  КонецПопытки;  ВнутренниеПараметры = АлгоритмОбъект.Параметры.Выгрузить();  АлгоритмОбъект.Параметры.Загрузить(мАлгоритмКонвертацииЗначенияПараметры);  ирОбщий.ЗагрузитьВТаблицуЗначенийЛкс(ВнутренниеПараметры, АлгоритмОбъект.Параметры);  Вычисление = ВычислитьЗначениеЯчейки(АлгоритмОбъект, РезультатыЯчеек, ТекстЯчейки, ТекстыЯчеек, РезультатЯчейки, Примечание, СтандартнаяОбработка);  РезультатЯчейки = Вычисление.Результат;  Примечание = Вычисление.ОписаниеОшибки;  ТекстЯчейки = Вычисление.ТекстЯчейки;  СтандартнаяОбработка = Вычисление.СтандартнаяОбработка;  КонецЕсли;  Если Истина  И СтандартнаяОбработка  И СтрокаСопоставления.РежимКонвертации = "ИзИсточника"  И СтрокаСопоставления.Значение = РезультатЯчейки  И ЗначениеЗаполнено(СтрокаСопоставления.ИмяКолонкиИсточника)  Тогда  Если СтрокаСопоставления.ОбрезатьКрайниеПробелы Тогда  ТекстЯчейки = СокрЛП(ТекстЯчейки);  КонецЕсли;  Примечание = "";  Если Не СтрокаСопоставления.ИгнорироватьРасшифровку Тогда  Расшифровка = ОбластьЯчейки.Расшифровка;  КонецЕсли;  Если Истина  И Расшифровка <> Неопределено  И ТипЗнч(Расшифровка) <> Тип("Неопределено")  И ТипЗнч(Расшифровка) <> Тип("Строка")  И ТипЗнч(Расшифровка) <> Тип("ИдентификаторРасшифровкиКомпоновкиДанных")  И СтрокаСопоставления.ОписаниеТипов.СодержитТип(ТипЗнч(Расшифровка))  Тогда  РезультатЯчейки = Расшифровка;  Если РезультатЯчейки <> СтрокаСопоставления.ОписаниеТипов.ПривестиЗначение(РезультатЯчейки) Тогда  Примечание = "Расшифровка ячейки вне границ типа";  КонецЕсли;  ИначеЕсли ПустаяСтрока(ТекстЯчейки) Тогда  РезультатЯчейки = Неопределено;  Иначе  НайденныеЗначения = ПолучитьВозможныеЗначения(СтрокаСопоставления, ТекстЯчейки, Примечание, РезультатыЯчеек, РазрешитьСозданиеОбъектов, КэшПоиска);  Если НайденныеЗначения.Количество() = 0 Тогда  Примечание = "Не найден" + ?(Примечание = "", "", Символы.ПС+Примечание);  РезультатЯчейки = Неопределено;  ИначеЕсли НайденныеЗначения.Количество() = 1 Тогда  РезультатЯчейки = НайденныеЗначения[0];  Иначе  Примечание = "Неоднозначное (" + НайденныеЗначения.Количество() + " вариантов) представление" +?(Примечание = "","", Символы.ПС+Примечание);  Нашли = Ложь;  НашлиЗначениеПоУмолчанию = Ложь;  Расшифровка = ОбластьЯчейки.Расшифровка;  Для каждого НайденноеЗначение Из НайденныеЗначения Цикл  Если НайденноеЗначение = Расшифровка Тогда  Нашли = Истина;  Прервать;  КонецЕсли;  Если НайденноеЗначение = СтрокаСопоставления.Значение Тогда  НашлиЗначениеПоУмолчанию = Истина;  КонецЕсли;  КонецЦикла;  Если Не Нашли Тогда  Если НашлиЗначениеПоУмолчанию Тогда  НайденноеЗначение = СтрокаСопоставления.Значение;  Иначе  НайденноеЗначение = НайденныеЗначения[0];  КонецЕсли;  КонецЕсли;  РезультатЯчейки = НайденноеЗначение;  Если Не СтрокаСопоставления.ОписаниеТипов.СодержитТип(ТипЗнч(Расшифровка)) Тогда  ОбластьЯчейки.Расшифровка = Новый СписокЗначений;  ОбластьЯчейки.Расшифровка.Добавить(НайденноеЗначение);  КонецЕсли;  КонецЕсли;  КонецЕсли;  Если НЕ ЗначениеЗаполнено(РезультатЯчейки) Тогда  РезультатЯчейки = СтрокаСопоставления.Значение;  КонецЕсли;  Если ДобавлятьСырыеДанныеВТЗ Тогда  РезультатыЯчеек.Вставить(СтрокаСопоставления.ИмяКолонкиПриемника + мСуффиксСырыхДанных, ОригинальныйТекстЯчейки);  КонецЕсли;  КонецЕсли;  Если ЗначениеЗаполнено(Примечание) Тогда  КоличествоОшибок = КоличествоОшибок + 1;  Если ВыводитьОшибкиКонвертацииСразу Тогда  ПредставлениеКраткое = ирОбщий.ПредставлениеЗначенияСОграничениемДлиныЛкс(ОригинальныйТекстЯчейки, 50);  ирОбщий.СообщитьЛкс("Ячейка["+ОбластьЯчейки.Имя+"->"+СтрокаСопоставления.СинонимКолонкиПриемника+"](" + ПредставлениеКраткое + "): " + Примечание, СтатусСообщения.Внимание);  КонецЕсли;  Если РазрешитьСозданиеОбъектов И ЗначениеЗаполнено(СтрокаСопоставления.ИмяКолонкиИсточника) Тогда  СтрокаОшибки = ОшибкиКонвертации.Добавить();  СтрокаОшибки.КолонкаИсточника = СтрокаСопоставления.ИмяКолонкиИсточника;  СтрокаОшибки.Ошибка = Примечание;  СтрокаОшибки.ТекстЯчейки = ОригинальныйТекстЯчейки;  СтрокаОшибки.Количество = 1;  КонецЕсли;  КонецЕсли;  РезультатыЯчеек.Вставить(СтрокаСопоставления.ИмяКолонкиПриемника, РезультатЯчейки);  Если Истина  И ОбластьЯчейки <> Неопределено  И (Ложь  Или ОбластьЯчейки.СодержитЗначение  Или ЗначениеЗаполнено(Примечание))  Тогда    ОбластьЯчейки.Примечание.Текст = Примечание;  ОбластьЯчейки.СодержитЗначение = ЗначениеЗаполнено(Примечание);  КонецЕсли;  КонецЦикла;
{ИнструментыРазработчикаTormozit Обработка.ирЗагрузкаТабличныхДанных.МодульОбъекта(514)}:РезультатыЯчеек = КонвертироватьСтрокуТД(ТабличныйДокумент, НомерСтроки, , КоличествоОшибокКонвертации, Истина, КэшПоиска);
{(1)}:Обработка.КонвертироватьДанные(ПараметрыЗадания)
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(21463)}:Результат = Вычислить("Обработка." + ИмяМетодаОбработки + "(ПараметрыЗадания)");
{ИнструментыРазработчикаTormozit Обработка.ирЗагрузкаТабличныхДанных.Форма.Форма.Форма(362)}:ирОбщий.ВыполнитьЗаданиеФормыЛкс("КонвертироватьДанные", ПараметрыЗадания, ЭтаФорма, "КонвертацияЗначений",,
Прикрепления: 1738457.png (391.7 Kb)
 
tormozitДата: Ср, 29.03.2023, 07:39:46 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
Найди выше от места ошибки фрагмент
       
Код
Если ОписаниеКолонки.СодержитСсылки Тогда
            ПеречисленияВсеТипы = Перечисления.ТипВсеСсылки();
            ДокументыВсеТипы = Документы.ТипВсеСсылки();
        КонецЕсли;

И удали условие, оставив внутренность.
 
tormozitДата: Ср, 29.03.2023, 08:19:11 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
Ошибку воспроизвел https://www.hostedredmine.com/issues/961255
 
tormozitДата: Ср, 29.03.2023, 08:21:25 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
Не забывай создавать новую тему при описании проблемы. В теме http://devtool1c.ucoz.ru/forum/2-2-1 описывать проблемы не следует.
 
4zakazaДата: Чт, 30.03.2023, 14:14:26 | Сообщение # 5
Рядовой
Группа: Пользователи
Сообщений: 11
Репутация: 12
Статус: Оффлайн
А я смотрю, что-то новая тема не создалась, сайт что ли сглючил, а не, это я протупил smile
 
tormozitДата: Вс, 02.04.2023, 17:55:33 | Сообщение # 6
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
Исправлено в 6.70
 
  • Страница 1 из 1
  • 1
Поиск: