Изменить Процедуру В конфигурации Розница 2.2.
По теме из базы знаний
- [РТ 2.*] [БП 3.0] [JSON] Выгрузка/загрузка данных из конфигурации Розница 2.* в Бухгалтерию предприятия 3.0 через файл JSON
- Исправление ошибки при обновлении Розницы на релиз 2.2.7.42 - обращение к несуществующему регистру
- Отмена автоматических скидок при оплате по карте (Скидки только за наличный расчет). Розница 2.2
- Остатки в форме выбора номенклатуры по штрихкоду для 1С: Розница 2.2
- Подключение весов МЕРА (МЕРА-ВТП-Н-3/15-СД-Е-1) к 1С: Розница 2.3 (2.2)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)Можно ли что то сделать здесь?
Функция ПолученШтрихкодИзСШК(Штрихкод, Форма, СтруктураДействий = Неопределено) Экспорт
Перем СтруктураПараметровДействия, Пользователь;
Если СтруктураДействий = Неопределено Тогда
СтруктураДействий = ВариантыПроверокШтрихкода();
КонецЕсли;
ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13; // ОпределитьТипШтрихкода(Штрихкод);
НеизвестныеДанныеПО = Истина;
СтруктураПараметровКлиента = Новый Структура;
// Весовые товары и штучные на весах.
Если СтруктураДействий.Свойство("ПроверкаВесовыхТоваров")
И ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13 Тогда
ПрефиксВнутреннегоШтрихкодаВесовогоТовара = ЗначениеНастроекПовтИсп.ПолучитьЗначениеКонстанты("ПрефиксВнутреннегоШтрихкодаВесовогоТовара");
ПрефиксВнутреннегоШтрихкодаШтучногоФасованногоТовара = ЗначениеНастроекПовтИсп.ПолучитьЗначениеКонстанты("ПрефиксВнутреннегоШтрихкодаШтучногоФасованногоТовара");
ДлинаКодаВесовогоТовара = СтрДлина(Формат(ЗначениеНастроекПовтИсп.ПолучитьЗначениеКонстанты("ВерхняяГраницаДиапазонаSKUВесовогоТовара"),"ЧГ=0"));
Если ДлинаКодаВесовогоТовара < 5 Тогда
ДлинаКодаВесовогоТовара = 5;
КонецЕсли;
Если (ПрефиксВнутреннегоШтрихкодаВесовогоТовара > 0)
И (ДлинаКодаВесовогоТовара > 0)
И (СтрДлина(Штрихкод) = 13)
И (Лев(Штрихкод, 2) = ("2" + ПрефиксВнутреннегоШтрихкодаВесовогоТовара)
ИЛИ Лев(Штрихкод, 2) = ("2" + ПрефиксВнутреннегоШтрихкодаШтучногоФасованногоТовара)) Тогда
КодТовара = Сред(Штрихкод, 3, ДлинаКодаВесовогоТовара);
КоличествоТовара = Сред(Штрихкод, 3 + ДлинаКодаВесовогоТовара, 10 - ДлинаКодаВесовогоТовара);
Если Лев(Штрихкод, 2) = ("2" + ПрефиксВнутреннегоШтрихкодаВесовогоТовара) Тогда
// Весовой товара расфасованный на весах.
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| КодыТоваровSKU.Номенклатура КАК Номенклатура,
| КодыТоваровSKU.Характеристика КАК Характеристика,
| КодыТоваровSKU.Упаковка КАК Упаковка,
| &КоличествоТовара / 1000 КАК Количество
|ИЗ
| РегистрСведений.КодыТоваровSKU КАК КодыТоваровSKU
|ГДЕ
| КодыТоваровSKU.SKU = &Код");
Иначе
// Штучный товар расфасованный на весах.
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| КодыТоваровSKU.Номенклатура КАК Номенклатура,
| КодыТоваровSKU.Характеристика КАК Характеристика,
| КодыТоваровSKU.Упаковка КАК Упаковка,
| &КоличествоТовара КАК Количество
|ИЗ
| РегистрСведений.КодыТоваровSKU КАК КодыТоваровSKU
|ГДЕ
| КодыТоваровSKU.SKU = &Код");
КонецЕсли;
Показать
(5)
Вот здесь ПрефиксВнутреннегоШтрихкодаВесовогоТовара - замените на артикул. но он обязательно должен быть приведен к длинне, причем желательно уникальной, иначе есть риск поймать два одинаковых штрихкода на разные позиции.
Либо если Вы формируете ШК по кнопочке, то посмотрите процедуру где формируется сам ШК и после первого или первых двух символов должен быть вставлен артикул. (помните 13 цифру компонент ШК формирует сам - это контрольная цифра. Ваш ШК должен иметь 12 знаков.
ЗЫ на самом деле задача глупая, хотя бы по постановке - весовой ШК формируется по определенным правилам если только в учебных целях, то надо разобраться с тем как это происходит вообще. и ШК весовой формируют весы, а там есть несколько принятых алгоритмов, и можно свои задать.
Если Лев(Штрихкод, 2) = ("2" + ПрефиксВнутреннегоШтрихкодаВесовогоТовара) Тогда
Вот здесь ПрефиксВнутреннегоШтрихкодаВесовогоТовара - замените на артикул. но он обязательно должен быть приведен к длинне, причем желательно уникальной, иначе есть риск поймать два одинаковых штрихкода на разные позиции.
Либо если Вы формируете ШК по кнопочке, то посмотрите процедуру где формируется сам ШК и после первого или первых двух символов должен быть вставлен артикул. (помните 13 цифру компонент ШК формирует сам - это контрольная цифра. Ваш ШК должен иметь 12 знаков.
ЗЫ на самом деле задача глупая, хотя бы по постановке - весовой ШК формируется по определенным правилам если только в учебных целях, то надо разобраться с тем как это происходит вообще. и ШК весовой формируют весы, а там есть несколько принятых алгоритмов, и можно свои задать.
(10) Первое - длинна ШК пользователя в ЕАН13 = 12 символов, 13 символ это контрольная цифра, если она не правильная ШК не будет считан сканером.
второе - в весовой части дробное не проставляется, весы сформируют цифру где будет по правилам 4 цифры кг и три последние граммы
пример 150 граммов будут выглядеть 0000150 , или 13 кг 456 гр = 0013456. Но что бы это правильно читалось программа которая принимает шк должна понимать что это весовой код и товар она будет искать по первым цифрам. Значит у товара будет 5 знаков артикул для вашего случая это 123459 (например), тогда ШК сформируется как 123450000150К - К контрольная цифра но с таким ШК в магазин нельзя, так как он может совпасть с промышленным . Поэтому для внутренних нужд впереди ставят код 2 или 2х где х от 0-9
Где именно в коде надо поправить, то вам уже сказали - или ШК формирует весовой терминал или вы в карточке товара но тогда нужна обработка которая сформирует по вашим правилам
второе - в весовой части дробное не проставляется, весы сформируют цифру где будет по правилам 4 цифры кг и три последние граммы
пример 150 граммов будут выглядеть 0000150 , или 13 кг 456 гр = 0013456. Но что бы это правильно читалось программа которая принимает шк должна понимать что это весовой код и товар она будет искать по первым цифрам. Значит у товара будет 5 знаков артикул для вашего случая это 123459 (например), тогда ШК сформируется как 123450000150К - К контрольная цифра но с таким ШК в магазин нельзя, так как он может совпасть с промышленным . Поэтому для внутренних нужд впереди ставят код 2 или 2х где х от 0-9
Где именно в коде надо поправить, то вам уже сказали - или ШК формирует весовой терминал или вы в карточке товара но тогда нужна обработка которая сформирует по вашим правилам
(11)
Тогда вам лучше пригласить того кто разбирается.
Это лучше спросить у него.
Если вам нужно что бы PLU вашего товара был артикул то например можно написать обработку которая в соответствующий регистр сведений запишет ваши артикулы.
я плохо разбираюсь в этом, как записать артикулы?
Тогда вам лучше пригласить того кто разбирается.
либо тот кто дал это задание хотел запутать меня, либо он сделал ошибку сам.
Это лучше спросить у него.
Если вам нужно что бы PLU вашего товара был артикул то например можно написать обработку которая в соответствующий регистр сведений запишет ваши артикулы.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот