Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 12:50

Диапазон sku по группам

Автор maugly22, 27 апр 2022, 19:51

0 Пользователей и 1 гость просматривают эту тему.

maugly22

Простите если не в тут ветку пишу! Совсем тут новичок.
1С:Предприятие 8.3
Розница, редакция 2.3

Всем привет!
Ребята подскажите может кто сталкивался.

По умолчанию sku коды генерируются по порядку создания.
Но так как я набиваю новую базу то у меня товар весь получается в перемешу в кодах.
То есть например создал товар "Мороженное" он встал на номер 100. Дальше мне пришла "Свинина" ей присвоился 101. и тд.

Это все жутко не удобно для продавцов.

Мне бы хотелось настроить sku коды с привязкой к группам товаров.
То есть задать бы им определенные "Диапазоны".
Например есть группа товаров "Заморозка" и все что в ней лежит (номенклатура) присваивались бы sku коды в диапазоне от 100 до 200.
И допустим следующая группа, например "Свежее мясо" имела диапазон уже от 201 до 300.
Ну и тд.

Можно конечно пойти таким путем что бы в ручную вводить каждому товару код. И НЕ использовать встроенную функцию "Работа с sku кодами".
Но мне кажется такой подход как минимум не удобным а как максимум если что то пойдет не так то придётся потом всё опять же в ручную править.

Есть какие то мысли ?  :dfbsdfbsdf:


LexaK

присвойте группе номер (префикс) СКУ
10, 20, и тд.
при создании новой номенклатуры, при записи, в модуле справочника
если еще не заполнен СКУ, формируете новый ( СКУ_группы * 1000) + последний + 1

* 1000 - это для вашей разрядности (какой длины СКУ планируется)
если помогло нажмите: Спасибо!

maugly22

LexaK,
Здравствуйте!
Извиняюсь что так поздно отвечаю. Руки только сейчас дошли.

А можно поподробнее?
То есть Вы все таки предлагаете в ручную создавать SKU что ли ?
Группам да , я посмотрел что можно назначить sku. Но ,что это дает? Я так и не понял.  :dfbsdfbsdf:

Мне же хочется что бы sku формировался автоматически с нужными номерами в зависимости от той группы в которой лежит эта номенклатура.

А вот это : "формируете новый ( СКУ_группы * 1000) + последний + 1"  Вы я так понимаю предлагаете делать ручками ?
Это так себе вариант. Ибо если зайти в модуль "Работа с кодами sku" и случайно нажать "Сгенерировать" то модуль сгенерирует
просто новые коды всей номенклатуре в беспорядочном порядке. И что потом опять все заново ручками вбивать ?



LexaK

Цитата: maugly22 от 11 мая 2022, 11:39А вот это : "формируете новый ( СКУ_группы * 1000) + последний + 1"  Вы я так понимаю предлагаете делать ручками ?
-нет! это делается запросом,
в событии перед записью элемента
вот примерно такой код можно использовать
(это пример, надо подставить свои имена реквизитов)
Процедура ПереЗаписью(Отказ)

УстановитьСКУ();

КонецПроцедуры

Процедура УстановитьСКУ()

Если ЭтоГруппа или ЗначениеЗаполнено(СКУ_элемента) Тогда
Возврат;
КонецЕсли;

//Запрос - шаблон
лкЗапрос = Новый Запрос;
лкЗапрос.Текст = "
    |Выбрать
| Максимум(спр.СКУ_элемента) как СКУ_элемента
|из Справочник.ВашСправочник спр
|где
| спр.СКУ_элемента между &СКУ1 и &СКУ2
|";

//для поиска задаем диапазон по группе,
лкЗапрос.УстановитьПараметр("СКУ1", Родитель.СКУ_Группы * 1000);
лкЗапрос.УстановитьПараметр("СКУ2", Родитель.СКУ_Группы * 1000 + 999);

лкВыборка = лкЗапрос.Выполнить().Выбрать();
Если лкВыборка.Следующий() Тогда
//нашли макс СКУ, берем следующий +1
СКУ_элемента = лкВыборка.СКУ_элемента + 1;
Если СКУ_элемента > Родитель.СКУ_Группы * 1000 + 999 Тогда
//превысили предел по группе
Сообщить("Для группы: " + Родитель + ", достигнут предел СКУ: " + СКУ_элемента);
СКУ_элемента = 0;
КонецЕсли;
Иначе
//еще нет элементов в группе
СКУ_элемента = Родитель.СКУ_Группы * 1000;
КонецЕсли;

КонецПроцедуры
 
если помогло нажмите: Спасибо!

maugly22

LexaK,
Ну это уже программирование поперло +)
Я туда не полезу конечно.
Думал можно это все как то проще настроить...

LexaK

Цитата: maugly22 от 11 мая 2022, 13:00Ну это уже программирование поперло +)
эээ, так на любой чих в 1С надо программу писать,
(за исключением совсем каких-то базовых платформенных вещей, типа автонумерации и др.)
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск