При выгрузке номенклатуры с помощью обработки "V8Exchan82" выдал такую ошибку "Преобразование значения к типу Число не может быть выполнено"

1. Gok9 07.02.23 13:19 Сейчас в теме
Здравствуйте, при выгрузке номенклатуры с помощью обработки "V8Exchan82" выдал такую ошибку "Преобразование значения к типу Число не может быть выполнено"
Как можно это исправить?
В номенклатуре есть объекты помеченные на удаление, может ли быть это причиной, или номенклатура неправильно заполнена?
Прикрепленные файлы:
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. RustamZz 07.02.23 13:51 Сейчас в теме
(1) Это значит правила с ошибкой.
5. Gok9 07.02.23 13:54 Сейчас в теме
(3) Остальные данные выгружает кроме номенклатуры... при выгрузке номенклатуры выдает такую ошибку...
6. RustamZz 07.02.23 13:55 Сейчас в теме
(5) Это значит правила по Номенклатуре с ошибкой.
8. Gok9 07.02.23 13:57 Сейчас в теме
(6) Хорошо, сейчас заново создам
9. Gok9 07.02.23 14:07 Сейчас в теме
(6) Снова такая ошибка... В номенклатуре есть объекты помеченные на удаление, может ли быть из-за этого?
10. RustamZz 07.02.23 14:15 Сейчас в теме
(9) Нет. Правила по Номенклатуре с ошибкой.
11. Gok9 07.02.23 14:17 Сейчас в теме
(10) Правильно сказали, при синхронизации объектов смотрю, а там нет справочника номенклатура, как так? Куда он исчез? По поиску искал, не находить... Странно...
Прикрепленные файлы:
12. Gok9 07.02.23 14:27 Сейчас в теме
(10) Как создать правило без ошибки?
13. RustamZz 07.02.23 14:28 Сейчас в теме
(12) У тебя не возникает мысли, что ты не своим делом занимаешься? В правилах у тебя Код (строка) преобразуется в Код (число).
14. Gok9 07.02.23 14:36 Сейчас в теме
(13) Ну впервые использую конвертацию данных, а можете подсказать как это исправить?
15. RustamZz 07.02.23 14:44 Сейчас в теме
(14) А как бы ты превратил в число такую строку: "А в письме три слова: больше не люблю!"
16. Gok9 07.02.23 14:49 Сейчас в теме
(15) В правило выбрал число, спасибо вам)
17. RustamZz 07.02.23 14:50 Сейчас в теме
18. Gok9 07.02.23 14:51 Сейчас в теме
19. RustamZz 07.02.23 14:58 Сейчас в теме
(18) Ну вот пиши на форуме, когда проверил. Торопиться не надо, чай не блох ловишь.
20. Gok9 08.02.23 07:40 Сейчас в теме
(19) Проверил, выдал такую ошибку))
"
Ссылка на несуществующий объект метаданных в правилах обмена
    Объект                 =  Строка
    ОписаниеОшибки         =  Значение не является значением объектного типа (ПКО)
    ПозицияМодуля          =  ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(2175)
    КодСообщения           =  11"


Можете подсказать как конвертировать строки в число?
22. RustamZz 08.02.23 09:31 Сейчас в теме
(20) А как бы ты превратил в число такую строку: "А в письме три слова: больше не люблю!"
23. Gok9 08.02.23 09:44 Сейчас в теме
(22) Например так?))))
Строка = "А в письме три слова: больше не люблю!";
Число = Число(Строка);
24. RustamZz 08.02.23 09:45 Сейчас в теме
(23) Я отвечу за 1С: "Преобразование значения к типу Число не может быть выполнено"
25. Gok9 08.02.23 09:50 Сейчас в теме
(24) Помогите как тогда можно решить данный вопрос?)) В приемнике число в строку не дает менять...
Прикрепленные файлы:
26. RustamZz 08.02.23 09:54 Сейчас в теме
(25) Этот вопрос надо решать с заказчиком и руководителем проекта. Когда ты принесешь свой говнокод, и тебя начнут ругать, аргументы: мне в интернете сказали так сделать - не прокатят.
27. Gok9 08.02.23 09:57 Сейчас в теме
(26) Из-за спортивного интереса взял это задание, чтобы заодно научиться конвертации данных...
28. RustamZz 08.02.23 09:58 Сейчас в теме
(27) Ну считай, что подход к штанге был не удачный.
29. Gok9 08.02.23 10:03 Сейчас в теме
(28) Ну Рустам ако лазил по форумам но не смог найти ответы, поэтому спросил у форумчан, у Вас огромный опыт по 1С, и наверняка вы знайте как создать правило обмена, вы же сразу указали где ошибка, иначе я лазил бы по процедурам с отладкой...
30. RustamZz 08.02.23 10:07 Сейчас в теме
(29) У меня несколько вариантов решения этой проблемы, но я бы их сначала обсудил с заказчиком. А вам я горячо советую потратить время на обучение: У 1С есть хорошие курсы по конвертации.
31. Gok9 08.02.23 10:45 Сейчас в теме
(30) Заказчиков нет, просто пока тренируюсь как можно например перенести данные между различными конфигурациями используя конвертацию данных 2.1, посмотрел пару роликов у Леонтьева Илии и приступил к переносу данных с ERP в Далион, и в номенклатуре столкнулся с этой проблемой у далиона в справочник.номенклатура код типа число у ERP и у остальных типовых решений 1С в справочник.номенклатура код типа строка
33. Gok9 08.02.23 12:38 Сейчас в теме
(30) Поменял в далионе(приемник) тип кода справочника с "число" в "строка")) выгрузился успешно, но не будет ли в дальнейшем проблемы?
34. RustamZz 08.02.23 12:53 Сейчас в теме
(33) Главное никому не говори, что это ты сделал. Универсальный ответ: "оно само".
36. Gok9 08.02.23 12:58 Сейчас в теме
(34) Серьезно скажите пожалуйста, что будет в дальнейшем? При обновлении будут ли проблемы?)))
39. RustamZz 08.02.23 13:23 Сейчас в теме
(36) Я с этой конфой не знаком. Если они используют арифметические операции с кодом, то будут проблемы.
41. Gok9 08.02.23 13:41 Сейчас в теме
21. Gok9 08.02.23 08:59 Сейчас в теме
(19) В конфигурации источника Справочник.Номенклатура тип кода строка, в конфигурации приемника тип кода число, как можно конвертировать такой тип данных в конвертация данных 2.1?
Прикрепленные файлы:
4. glek 119 07.02.23 13:53 Сейчас в теме
7. Gok9 07.02.23 13:55 Сейчас в теме
(4) Хотел удалить но не смог...
32. Gok9 08.02.23 12:05 Сейчас в теме
(4) Дмитрий, можете вы подсказать? Как поменять тип кода или что надо сделать для исправления ошибки?
Прикрепленные файлы:
35. glek 119 08.02.23 12:55 Сейчас в теме
(32) Тип кода поменять не получится. Да и незачем. Уберите вообще код из конвертации и пусть система сама присваивает код в приемнике. Поиска то по коду нет.
37. Gok9 08.02.23 13:03 Сейчас в теме
(35) Сначала была поиск по коду, потом снял галочку... Как можно убрать код из конвертации? Взял в конфигурации приемнике поменял тип кода справочника с "число" в "строка" и выгрузился номенклатура, можно ли так делать или нельзя?
38. glek 119 08.02.23 13:05 Сейчас в теме
(37) Теоретически можно. Но нежелательно, если база может обновляться.
А убрать из конвертации можно с помощью галки "отключить... (первая колонка)
40. Gok9 08.02.23 13:40 Сейчас в теме
(38) Спасибо вам большое, пока учусь, 2 недели назад надо было ЗУП перенести в идентичную конфигурация, с помощью обработки выгрузки и загрузки XML много мучался не смог перенести, думаю в будущем много раз понадобиться, а можно ли например с помощью конвертации данных наладить постоянный обмен данных между розницей и РМК?
42. glek 119 08.02.23 14:29 Сейчас в теме
(40) Всё можно, но лучше пользоваться типовыми. Думаю, в последних релизах через синхронизацию данных можно обмениваться.
43. Gok9 09.02.23 10:33 Сейчас в теме
(42) При переносе цены номенклатуры выдал такую ошибку...

Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(4867)}: Ошибка записи объекта
ТипОбъекта = Регистр сведений запись: Цены номенклатуры
Объект = РегистрСведенийНаборЗаписей.ЦеныНоменклатуры
ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр сведений: Цены номенклатуры)
ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(4860)
КодСообщения = 26

Поискал была такая тема https://forum.infostart.ru/forum68/topic50414/ но не понял как как делать корректировку регистра, поможет ли мне этот метод?
44. Gok9 09.02.23 11:57 Сейчас в теме
(42) В приемнике "Регистр сведений ЦеныНоменклатуры: Модуль набора записей" в процедурах "УдалитьДублиПоИзмерениям()" и "ИнкриминироватьПериодПриСовпадении()" установлен отбор по регистраторам и при загрузке данных выдал такую ошибку, как можно это исправить?
Процедура УдалитьДублиПоИзмерениям()
	
	Если Количество() = 0 Тогда
		Возврат;
	КонецЕсли;
	
	Период      = ЭтотОбъект[0].Период;
	
	ТабНоменклатуры = Выгрузить(, "КатегорияЦен, Номенклатура, ХарактеристикаНоменклатуры, Цена");
	
	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("Период"         , Период);
	Запрос.УстановитьПараметр("ТабНоменклатуры", ТабНоменклатуры);
	Запрос.УстановитьПараметр("Регистратор",     ЭтотОбъект.Отбор.Регистратор.Значение);
	
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ТабНоменклатуры.Номенклатура,
	|	ТабНоменклатуры.ХарактеристикаНоменклатуры,
	|	ТабНоменклатуры.КатегорияЦен,
	|	ТабНоменклатуры.Цена
	|ПОМЕСТИТЬ ТабНоменклатуры
	|ИЗ
	|	&ТабНоменклатуры КАК ТабНоменклатуры
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	ЦеныНоменклатуры.Номенклатура,
	|	ЦеныНоменклатуры.ХарактеристикаНоменклатуры,
	|	ЦеныНоменклатуры.КатегорияЦен
	|ПОМЕСТИТЬ НоменклатураИзРегистра
	|ИЗ
	|	РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
	|ГДЕ
	|	ЦеныНоменклатуры.Период = &Период
	|	И ЦеныНоменклатуры.Регистратор <> &Регистратор
	|;
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ ПЕРВЫЕ 1
	|	ТабНоменклатуры.Номенклатура,
	|	ТабНоменклатуры.ХарактеристикаНоменклатуры,
	|	ТабНоменклатуры.КатегорияЦен,
	|	ТабНоменклатуры.Цена
	|ИЗ
	|	ТабНоменклатуры КАК ТабНоменклатуры
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ НоменклатураИзРегистра КАК НоменклатураИзРегистра
	|		ПО (НоменклатураИзРегистра.Номенклатура = ТабНоменклатуры.Номенклатура)
	|			И (НоменклатураИзРегистра.ХарактеристикаНоменклатуры = ТабНоменклатуры.ХарактеристикаНоменклатуры)
	|			И (НоменклатураИзРегистра.КатегорияЦен = ТабНоменклатуры.КатегорияЦен)";
	
	
	Если НЕ Запрос.Выполнить().Пустой() Тогда
		
		Запрос.Текст = 
		"ВЫБРАТЬ
		|	&Период КАК Период,
		|	&Регистратор КАК Регистратор,
		|	ТабНоменклатуры.Номенклатура,
		|	ТабНоменклатуры.ХарактеристикаНоменклатуры,
		|	ТабНоменклатуры.КатегорияЦен,
		|	ТабНоменклатуры.Цена
		|ИЗ
		|	ТабНоменклатуры КАК ТабНоменклатуры
		|		ЛЕВОЕ СОЕДИНЕНИЕ НоменклатураИзРегистра КАК НоменклатураИзРегистра
		|		ПО (НоменклатураИзРегистра.Номенклатура = ТабНоменклатуры.Номенклатура)
		|			И (НоменклатураИзРегистра.ХарактеристикаНоменклатуры = ТабНоменклатуры.ХарактеристикаНоменклатуры)
		|			И (НоменклатураИзРегистра.КатегорияЦен = ТабНоменклатуры.КатегорияЦен)
		|ГДЕ
		|	НоменклатураИзРегистра.Номенклатура ЕСТЬ NULL ";

		Загрузить(Запрос.Выполнить().Выгрузить());
	КонецЕсли;
	
КонецПроцедуры

Процедура ИнкриминироватьПериодПриСовпадении()
	
	Если Количество() = 0 Тогда
		Возврат;
	КонецЕсли;
	
	ТабНоменклатуры = Выгрузить(, "Период, КатегорияЦен, Номенклатура, ХарактеристикаНоменклатуры, Цена");
	
	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	Запрос.УстановитьПараметр("ТабНоменклатуры", ТабНоменклатуры);
	Запрос.УстановитьПараметр("Регистратор", ЭтотОбъект.Отбор.Регистратор.Значение);
	
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ТабНоменклатуры.Период КАК Период,
	|	ТабНоменклатуры.Номенклатура КАК Номенклатура,
	|	ТабНоменклатуры.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	|	ТабНоменклатуры.КатегорияЦен КАК КатегорияЦен,
	|	ТабНоменклатуры.Цена КАК Цена
	|ПОМЕСТИТЬ ТабНоменклатуры
	|ИЗ
	|	&ТабНоменклатуры КАК ТабНоменклатуры
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	ЦеныНоменклатуры.Период КАК Период,
	|	ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
	|	ЦеныНоменклатуры.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	|	ЦеныНоменклатуры.КатегорияЦен КАК КатегорияЦен
	|ПОМЕСТИТЬ ДублиПоПериодуИИзмерениям
	|ИЗ
	|	РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабНоменклатуры КАК ТабНоменклатуры
	|		ПО ЦеныНоменклатуры.Период = ТабНоменклатуры.Период
	|			И ЦеныНоменклатуры.Номенклатура = ТабНоменклатуры.Номенклатура
	|			И ЦеныНоменклатуры.ХарактеристикаНоменклатуры = ТабНоменклатуры.ХарактеристикаНоменклатуры
	|			И ЦеныНоменклатуры.КатегорияЦен = ТабНоменклатуры.КатегорияЦен
	|ГДЕ
	|	ЦеныНоменклатуры.Регистратор <> &Регистратор
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ ПЕРВЫЕ 1
	|	ДублиПоПериодуИИзмерениям.Период КАК Период
	|ИЗ
	|	ДублиПоПериодуИИзмерениям КАК ДублиПоПериодуИИзмерениям
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	ВЫБОР
	|		КОГДА ДублиПоПериодуИИзмерениям.Период ЕСТЬ NULL
	|			ТОГДА ТабНоменклатуры.Период
	|		ИНАЧЕ ДОБАВИТЬКДАТЕ(ТабНоменклатуры.Период, СЕКУНДА, 1)
	|	КОНЕЦ КАК Период,
	|	ТабНоменклатуры.Номенклатура КАК Номенклатура,
	|	ТабНоменклатуры.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
	|	ТабНоменклатуры.КатегорияЦен КАК КатегорияЦен,
	|	ТабНоменклатуры.Цена КАК Цена
	|ИЗ
	|	ТабНоменклатуры КАК ТабНоменклатуры
	|		ЛЕВОЕ СОЕДИНЕНИЕ ДублиПоПериодуИИзмерениям КАК ДублиПоПериодуИИзмерениям
	|		ПО ТабНоменклатуры.Номенклатура = ДублиПоПериодуИИзмерениям.Номенклатура
	|			И ТабНоменклатуры.ХарактеристикаНоменклатуры = ДублиПоПериодуИИзмерениям.ХарактеристикаНоменклатуры
	|			И ТабНоменклатуры.КатегорияЦен = ДублиПоПериодуИИзмерениям.КатегорияЦен";
	
	Результат = Запрос.ВыполнитьПакет();
	
	Если Не Результат[2].Пустой() Тогда
		Загрузить(Результат[3].Выгрузить());
		
		ИнкриминироватьПериодПриСовпадении();
	КонецЕсли;
	
КонецПроцедуры
Показать
Прикрепленные файлы:
2. Gok9 07.02.23 13:23 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот