![]() |
![]() |
![]() |
|
Маркировка обуви из РБ - TRANSBORDER против FOREIGN в Розница 2.3. | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
09.07.20
✎
15:23
|
При запросе в API по марке по адресу: api/v3/facade/identifytools/info?cis=XXXXXXXXXXXXXXXXX
Возвращается информация по марке, что ее "emissionType" равен "FOREIGN". Уточнили у производителя обуви, они ответили, что всегда так регистрировали нанесенные на обувь знаки. Если попытаться зарегистрировать эту марку со способом ввода в оборот "Ввоз из стран ЕАЭС" (TRANSBORDER), то 1С ругается на несоответствие emissionType. Можно, конечно, попытаться отключить этот контроль (но база РИБ, довольно долго), да и думаю, что ЧЗ даст отказ от ввода в оборот. Что скажете, господа, как с этим бороться, есть идеи? Если вводить под способом "Ипорт в РФ" (FOREIGN) там нужно указывать номера ГТД и прочее, чего у белорусских поставок нет по определению. |
|||
1
timurhv
10.07.20
✎
10:29
|
(0) support@crpt.ru
|
|||
2
Гений 1С
гуру
10.07.20
✎
15:25
|
(1) уже, но там не спешат с ответом.
|
|||
3
Гений 1С
гуру
13.07.20
✎
17:53
|
Из ЧЗ ответили: "На данный момент такой способ ввода в оборот не доступен".
И куда бедному христианину податься? |
|||
4
timurhv
14.07.20
✎
11:44
|
(3) Списывать, описывать в национальном каталоге, заказывать новые, клеить.
|
|||
5
Гений 1С
гуру
14.07.20
✎
16:07
|
(4) видишь ли в ЛК честном знаке при заказе эмиссии до сих пор нет типа TRANSBORDER, т.е. завод не может заказать такие марки. ;-)
|
|||
6
Гений 1С
гуру
23.07.20
✎
19:01
|
В общем в ЧЗ сказали, что эмитированные как Foreign можно вводить в оборот как Transborder. Это несколько меняет логику 1С
Научился делать замены в расширениях и сделал расширение, которое меняет всю эту историю. Кому интересно, вот код: Модуль ШтрихкодированиеИСМПСлужебный: &Вместо("ПроверитьНаОшибкиСтрокиДерева") Процедура Осипов_ПроверитьНаОшибкиСтрокиДерева(СтрокиДерева, ПравилаПроверкиНаОшибки, ПараметрыСканирования, ДанныеКодовМаркировок, ЕстьОшибки) Если ПравилаПроверкиНаОшибки.Свойство("КонтрольВладельца") Тогда СведенияОбОрганизации = Новый Структура(); СведенияОбОрганизации.Вставить("ИНН", ""); ИнтеграцияИСПереопределяемый.ЗаполнитьСведенияОбОрганизации(ПараметрыСканирования.Владелец, СведенияОбОрганизации); ОжидаемыйИННВладельца = СведенияОбОрганизации.ИНН; КонецЕсли; Для Каждого СтрокаДерева Из СтрокиДерева Цикл Если ПравилаПроверкиНаОшибки.Свойство("КонтрольСтатусов") Тогда ДопустимыеСтатусыИСМП = ПравилаПроверкиНаОшибки.КонтрольСтатусов.ДопустимыеСтатусы; Если ДопустимыеСтатусыИСМП.Найти(СтрокаДерева.Статус) = Неопределено Или СтрокаДерева.ТипУпаковки = Перечисления.ТипыУпаковок.МаркированныйТовар И ДопустимыеСтатусыИСМП.Найти(Перечисления.СтатусыКодовМаркировкиИСМП.Неопределен) <> Неопределено И СтрокаДерева.Статус = Перечисления.СтатусыКодовМаркировкиИСМП.Неопределен Тогда ЕстьОшибки = Истина; ПравилаПроверкиНаОшибки.КонтрольСтатусов.КоллекцияСтрокСОшибками.Добавить(СтрокаДерева); КонецЕсли; КонецЕсли; Если ПравилаПроверкиНаОшибки.Свойство("КонтрольСпособаВводаВОборот") Тогда Если ЗначениеЗаполнено(ПараметрыСканирования.ДопустимыйСпособВводаВОборот) И СтрокаДерева.Статус <> Перечисления.СтатусыКодовМаркировкиИСМП.Неопределен И СтрокаДерева.СпособВводаВОборот <> ПараметрыСканирования.ДопустимыйСпособВводаВОборот //Осипов 2020-07-23 //Для трансграничной торговли не контролируем +++ И НЕ (СтрокаДерева.ДопустимыйСпособВводаВОборот = Перечисления.СпособыВводаВОборотСУЗ.ТрансграничнаяТорговля И СтрокаДерева.СпособВводаВОборот = Перечисления.СпособыВводаВОборотСУЗ.Импорт) //--- Тогда ЕстьОшибки = Истина; ПравилаПроверкиНаОшибки.КонтрольСпособаВводаВОборот.Добавить(СтрокаДерева); КонецЕсли; КонецЕсли; Если ПравилаПроверкиНаОшибки.Свойство("КонтрольВладельца") Тогда Если СтрокаДерева.Статус <> Перечисления.СтатусыКодовМаркировкиИСМП.Неопределен И СтрокаДерева.ИННВладельца <> ОжидаемыйИННВладельца Тогда ЕстьОшибки = Истина; ПравилаПроверкиНаОшибки.КонтрольВладельца.Добавить(СтрокаДерева); КонецЕсли; КонецЕсли; Если ПравилаПроверкиНаОшибки.Свойство("КонтрольКодовВводаОстатков") Тогда НайденнаяСтрока = ДанныеКодовМаркировок.Найти(СтрокаДерева.Штрихкод, "КодМаркировки"); Если НайденнаяСтрока <> Неопределено И НайденнаяСтрока.МаркируемаяПродукция И (Не НайденнаяСтрока.ЭтоКодВводаОстатков И ПараметрыСканирования.ЭтоМаркировкаОстатков Или НайденнаяСтрока.ЭтоКодВводаОстатков И Не ПараметрыСканирования.ЭтоМаркировкаОстатков) Тогда ПравилаПроверкиНаОшибки.КонтрольКодовВводаОстатков.Добавить(СтрокаДерева); ЕстьОшибки = Истина; КонецЕсли; Если ПравилаПроверкиНаОшибки.Свойство("КонтрольПустыхУпаковок") И ИнтеграцияИСКлиентСервер.ЭтоУпаковка(СтрокаДерева.ТипУпаковки) И СтрокаДерева.Строки.Количество() = 0 Тогда ЕстьОшибки = Истина; ПравилаПроверкиНаОшибки.КонтрольПустыхУпаковок.Добавить(СтрокаДерева); КонецЕсли; КонецЕсли; ПроверитьНаОшибкиСтрокиДерева(СтрокаДерева.Строки, ПравилаПроверкиНаОшибки, ПараметрыСканирования, ДанныеКодовМаркировок, ЕстьОшибки); КонецЦикла; КонецПроцедуры &Вместо("ПроверитьНаОшибкиОбработанныеШтрихкоды") Процедура Осипов_ПроверитьНаОшибкиОбработанныеШтрихкоды(ДанныеПоШтрихкодам, ПравилаПроверкиНаОшибки, ПараметрыСканирования, ЕстьОшибки) ОбработанныеШтрихкоды = ДанныеПоШтрихкодам.ОбработанныеШтрихкоды; Для Каждого КлючЗначение Из ОбработанныеШтрихкоды Цикл Если ДанныеПоШтрихкодам.МаркируемаяПродукция.Найти(КлючЗначение.Ключ) = Неопределено Тогда // Проверка на упаковку Продолжить; КонецЕсли; ДанныеШтрихкода = КлючЗначение.Значение; Если ПравилаПроверкиНаОшибки.Свойство("КонтрольВладельца") Тогда СведенияОбОрганизации = Новый Структура(); СведенияОбОрганизации.Вставить("ИНН", ""); ИнтеграцияИСПереопределяемый.ЗаполнитьСведенияОбОрганизации(ПараметрыСканирования.Владелец, СведенияОбОрганизации); ОжидаемыйИННВладельца = СведенияОбОрганизации.ИНН; Если ДанныеШтрихкода.ИННВладельца <> ОжидаемыйИННВладельца Тогда ЕстьОшибки = Истина; ПравилаПроверкиНаОшибки.КонтрольВладельца.Добавить(КлючЗначение); КонецЕсли; КонецЕсли; Если ПравилаПроверкиНаОшибки.Свойство("КонтрольСтатусов") Тогда ДопустимыеСтатусы = ПравилаПроверкиНаОшибки.КонтрольСтатусов.ДопустимыеСтатусы; ОтсутствуетДопустимыйСтатус = (ДопустимыеСтатусы.Найти(ДанныеШтрихкода.Статус) = Неопределено И ДопустимыеСтатусы.Найти(ДанныеШтрихкода.ОсобоеСостояние) = Неопределено); Если ОтсутствуетДопустимыйСтатус Или ДанныеШтрихкода.ТипУпаковки = Перечисления.ТипыУпаковок.МаркированныйТовар И ДанныеШтрихкода.Статус = Перечисления.СтатусыКодовМаркировкиИСМП.Неопределен Тогда ЕстьОшибки = Истина; ПравилаПроверкиНаОшибки.КонтрольСтатусов.КоллекцияСтрокСОшибками.Добавить(КлючЗначение); КонецЕсли; КонецЕсли; Если ПравилаПроверкиНаОшибки.Свойство("КонтрольСерий") Тогда Если ТребуетсяВыборСерии(ДанныеШтрихкода, ПараметрыСканирования) Тогда ПравилаПроверкиНаОшибки.КонтрольСерий.Добавить(КлючЗначение); КонецЕсли; КонецЕсли; Если ПравилаПроверкиНаОшибки.Свойство("КонтрольКодовВводаОстатков") Тогда СтрокаДанных = ДанныеПоШтрихкодам.ДанныеКодовМаркировок.Найти(ДанныеШтрихкода.Штрихкод, "КодМаркировки"); Если Не СтрокаДанных.ЭтоКодВводаОстатков И ПараметрыСканирования.ЭтоМаркировкаОстатков Или СтрокаДанных.ЭтоКодВводаОстатков И Не ПараметрыСканирования.ЭтоМаркировкаОстатков Тогда ПравилаПроверкиНаОшибки.КонтрольКодовВводаОстатков.Добавить(КлючЗначение); ЕстьОшибки = Истина; КонецЕсли; КонецЕсли; Если ПравилаПроверкиНаОшибки.Свойство("КонтрольСпособаВводаВОборот") Тогда Если ЗначениеЗаполнено(ПараметрыСканирования.ДопустимыйСпособВводаВОборот) И ДанныеШтрихкода.СпособВводаВОборот <> ПараметрыСканирования.ДопустимыйСпособВводаВОборот //Осипов 2020-07-23 //Для трансграничной торговли не контролируем +++ И НЕ (ПараметрыСканирования.ДопустимыйСпособВводаВОборот = Перечисления.СпособыВводаВОборотСУЗ.ТрансграничнаяТорговля И ДанныеШтрихкода.СпособВводаВОборот = Перечисления.СпособыВводаВОборотСУЗ.Импорт) //--- Тогда ЕстьОшибки = Истина; ПравилаПроверкиНаОшибки.КонтрольСпособаВводаВОборот.Добавить(КлючЗначение); КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
7
Ненавижу 1С
гуру
24.07.20
✎
10:16
|
(6) использование Вместо без ПродолжитьВызов вызывает сомнение
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |