В чем может быть проблема при обмене?
Здравствуйте. Не понятно по каким причинам появилась такая ошибка при обмене, версии конфигураций актуальные УТ и БП.
Событие: Отправка.
Обработчик: ПриОбработкеПОД.
ПОД: Документ_ВнутреннееПотреблениеТоваров_Отправка.
Объект: Документ объект: Внутреннее потребление товаров, Списание на расходы 0РУТ-000017 от 03.08.2020 18:00:08 (e1cib/data/Документ.ВнутреннееПотреблениеТоваров?ref=9fc694de800b3d8d11ead59a04edb39e).
Ошибка выполнения обработчика.
Преобразование значения к типу Булево не может быть выполнено
{ОбщийМодуль.МенеджерОбменаЧерезУниверсальныйФормат.Модуль(47324)}: Если Строка.ВыгружатьУпаковки И ЗначениеЗаполнено(Строка.УпаковкаСсылка) Тогда
{ОбщийМодуль.МенеджерОбменаЧерезУниверсальныйФормат.Модуль(47528)}: ЗаполнитьУпаковкуСтрокиТЧ(КомпонентыОбмена, Строка, УпаковкаПоДаннымЗапроса);
{ОбщийМодуль.МенеджерОбменаЧерезУниверсальныйФормат.Модуль(1157)}: ЗаполнитьХарактеристикуУпаковкуВТЧ(КомпонентыОбмена, СобственныеТовары);
{ОбщийМодуль.МенеджерОбменаЧерезУниверсальныйФормат.Модуль(54271)}: ПОД_Документ_ВнутреннееПотреблениеТоваров_Отправка_ПриОбрабо<wbr>тке(
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(6202)}: МенеджерОбмена.ВыполнитьПроцедуруМодуляМенеджера(ПравилоОбработки.ПриОбработке, СтруктураПараметров);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(649)}: ПриОбработкеПОД(
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(3632)}: ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Данные);
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(529)}: ВыполнитьВыгрузкуЗарегистрированныхДанных(КомпонентыОбмена, НомерОтправленного);
{Обработка.КонвертацияОбъектовXDTO.МодульОбъекта(216)}: ОбменДаннымиXDTOСервер.ПроизвестиВыгрузкуДанных(КомпонентыОбмена);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(6831)}: ОбработкаОбменаДаннымиXML.ВыполнитьВыгрузкуДанных(ОбработкаДляЗагрузкиДанных);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(3864)}: ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСо<wbr>единению(Отказ,
{Обработка.ВыполнениеОбменаДанными.МодульМенеджера(34)}: ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
{(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1026)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1016)}: ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
.
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) Строка это скорее всего строка табличной части, что на вкладке товары находится?
Если таких реквизитов нет, то ожидаемо происходит ошибка. Неопределено нельзя привести к значению булево и мы получаем ошибку из текста сообщения "Преобразование значения к типу Булево не может быть выполнено"
Правила обмена я так понимаю доработаны?
Можно посмотреть "МенеджерОбменаЧерезУниверсальныйФормат", ошибка ссылается на код из этого модуля.
Если таких реквизитов нет, то ожидаемо происходит ошибка. Неопределено нельзя привести к значению булево и мы получаем ошибку из текста сообщения "Преобразование значения к типу Булево не может быть выполнено"
Правила обмена я так понимаю доработаны?
Можно посмотреть "МенеджерОбменаЧерезУниверсальныйФормат", ошибка ссылается на код из этого модуля.
(6)
Если Строка.ВыгружатьУпаковки И ЗначениеЗаполнено(Строка.УпаковкаСсылка) Тогда
Процедура ЗаполнитьУпаковкуСтрокиТЧ(КомпонентыОбмена, Строка, ПоДаннымЗапроса = Истина)
Если ПоДаннымЗапроса Тогда
Если Строка.ВыгружатьУпаковки И ЗначениеЗаполнено(Строка.УпаковкаСсылка) Тогда
Если Строка.УпаковкаНоменклатуры Тогда
Строка.Упаковка = Строка.УпаковкаСсылка;
Иначе
Упаковка = Новый Структура();
Упаковка.Вставить("Наименование", Строка.УпаковкаНаименование);
Упаковка.Вставить("ЕдиницаИзмерения", Строка.УпаковкаЕдиницаИзмерения);
Упаковка.Вставить("Высота", Строка.УпаковкаВысота);
Упаковка.Вставить("Глубина", Строка.УпаковкаГлубина);
Упаковка.Вставить("Объем", Строка.УпаковкаОбъем);
Упаковка.Вставить("Ширина", Строка.УпаковкаШирина);
Упаковка.Вставить("Знаменатель", Строка.УпаковкаЗнаменатель);
Упаковка.Вставить("Числитель", Строка.УпаковкаЧислитель);
Упаковка.Вставить("Владелец", Строка.Номенклатура);
Упаковка.Вставить("Ссылка", Строка.УпаковкаСсылка);
// Поиск единицы измерения, если выгружается базовая единица как упаковка.
Если Не ЗначениеЗаполнено(Строка.УпаковкаЕдиницаИзмерения) И Строка.УпаковкаВладелец = Справочники.НаборыУпаковок.БазовыеЕдиницыИзмерения Тогда
// В интерактивном режиме нельзя указать в упаковке базовую единицу измерения с типом количество штук.
// Некорректно заполненные упаковки не выгружаем.
Если Строка.УпаковкаТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.КоличествоШтук Тогда
Возврат;
КонецЕсли;
Если Строка.УпаковкаТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.Длина Тогда
НаименованиеБазовойЕдиницыИзмерения = "м";
КодБазовойЕдиницыИзмерения = "006";
ИначеЕсли Строка.УпаковкаТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.Площадь Тогда
НаименованиеБазовойЕдиницыИзмерения = "м2";
КодБазовойЕдиницыИзмерения = "055";
ИначеЕсли Строка.УпаковкаТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.Объем Тогда
НаименованиеБазовойЕдиницыИзмерения = "м3";
КодБазовойЕдиницыИзмерения = "113";
ИначеЕсли Строка.УпаковкаТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.Вес Тогда
НаименованиеБазовойЕдиницыИзмерения = "кг";
КодБазовойЕдиницыИзмерения = "166";
ИначеЕсли Строка.УпаковкаТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.Энергия Тогда
НаименованиеБазовойЕдиницыИзмерения = "Вт.ч";
КодБазовойЕдиницыИзмерения = "243";
ИначеЕсли Строка.УпаковкаТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.Мощность Тогда
НаименованиеБазовойЕдиницыИзмерения = "Вт";
КодБазовойЕдиницыИзмерения = "212";
ИначеЕсли Строка.УпаковкаТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.ЭлектрическийЗаряд Тогда
НаименованиеБазовойЕдиницыИзмерения = "А.ч";
КодБазовойЕдиницыИзмерения = "263";
ИначеЕсли Строка.УпаковкаТипИзмеряемойВеличины = Перечисления.ТипыИзмеряемыхВеличин.Время Тогда
НаименованиеБазовойЕдиницыИзмерения = "с";
КодБазовойЕдиницыИзмерения = "354";
КонецЕсли;
Запрос = Новый Запрос("ВЫБРАТЬ
| УпаковкиЕдиницыИзмерения.Ссылка КАК Ссылка
|ИЗ
| Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиЕдиницыИзмерения
|ГДЕ
| УпаковкиЕдиницыИзмерения.Владелец = ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.БазовыеЕдиницыИзмерения)
| И УпаковкиЕдиницыИзмерения.Код = &Код
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| УпаковкиЕдиницыИзмерения.Ссылка
|ИЗ
| Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиЕдиницыИзмерения
|ГДЕ
| УпаковкиЕдиницыИзмерения.Владелец = ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.БазовыеЕдиницыИзмерения)
| И УпаковкиЕдиницыИзмерения.Наименование = &Наименование");
Запрос.УстановитьПараметр("Код", КодБазовойЕдиницыИзмерения);
Запрос.УстановитьПараметр("Наименование", НаименованиеБазовойЕдиницыИзмерения);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() И ЗначениеЗаполнено(Выборка.Ссылка) Тогда
Упаковка.Вставить("ЕдиницаИзмерения", Выборка.Ссылка);
КонецЕсли;
КонецЕсли;
Строка.Упаковка = Новый Структура("Значение, ИмяПКО",
Упаковка, "Справочник_Упаковки_ИзСтруктуры");
ПравилоОбработки = КомпонентыОбмена.ПравилаОбработкиДанных.Найти("Справочник_УпаковкиЕдиницыИзмерения_Отправка", "Имя");
Если Не ПравилоОбработки = Неопределено Тогда
ОбменДаннымиXDTOСервер.ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Упаковка, ПравилоОбработки);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Иначе
Если ЗначениеЗаполнено(Строка.УпаковкаСсылка) И ЗначениеЗаполнено(Строка.Номенклатура) Тогда
Упаковка = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(
Строка.УпаковкаСсылка, "Владелец, Наименование, ЕдиницаИзмерения, Высота,
|Глубина, Объем, Ширина, Знаменатель, Числитель");
Если Упаковка.Владелец = Строка.Номенклатура Тогда
Строка.Упаковка = Строка.УпаковкаСсылка;
Иначе
Упаковка.Вставить("Владелец", Строка.Номенклатура);
Строка.Упаковка = Новый Структура("Значение, ИмяПКО",
Упаковка, "Справочник_Упаковки_ИзСтруктуры");
ПравилоОбработки = КомпонентыОбмена.ПравилаОбработкиДанных.Найти("Справочник_УпаковкиЕдиницыИзмерения_Отправка", "Имя");
Если Не ПравилоОбработки = Неопределено Тогда
ОбменДаннымиXDTOСервер.ВыгрузкаОбъектаВыборки(КомпонентыОбмена, Упаковка, ПравилоОбработки);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Показать
(15) Значит надо подключать отладку. Думаю тут вам лучше обратиться к системному администратору
https://programmist1s.ru/vklyuchenie-otladki-na-servere-1s/
Без отладки будет довольно сложно понять проблему, это как оперировать слепому хирургу на ошупь.
Без отладки будет довольно сложно понять проблему, это как оперировать слепому хирургу на ошупь.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот