Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 05:55
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Генерация артикула  (Прочитано 2628 раз)

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

Оффлайн SkyNetYar

  • ****
  • Сообщений: 351
  • РЕПУТАЦИЯ: 10
  • КПД: 3%
  • Регистрация: 2014-10-25
  • Сайт: 
  • Профессия: Ученик 1С
Доброго времени суток!
Розница 2.1 появилась потребность генерировать автоматически артикул при создании карточки номенклатуры,генерируется он нормально но при создании новой карточки он снова тот же, необходимо делать к артикулу +1 в значение ну и проверка дублей..

Справочник.Номенклатура.ФормаЭлемента.ПриСозданииНаСервере
Если НЕ ЗначениеЗаполнено(Объект.Артикул) Тогда
Объект.Артикул = ор_ОбщийМодуль.ПолучитьНовыйАртикул();
КонецЕсли;
Общий модуль.ор_ОбщийМодуль.Модуль
Функция ПолучитьНовыйАртикул() Экспорт

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Номенклатура.Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Артикул ПОДОБНО ""_____""
| И (Номенклатура.Артикул ПОДОБНО ""%1%""
| ИЛИ Номенклатура.Артикул ПОДОБНО ""%2%""
| ИЛИ Номенклатура.Артикул ПОДОБНО ""%3%""
| ИЛИ Номенклатура.Артикул ПОДОБНО ""%4%""
| ИЛИ Номенклатура.Артикул ПОДОБНО ""%5%""
| ИЛИ Номенклатура.Артикул ПОДОБНО ""%6%""
| ИЛИ Номенклатура.Артикул ПОДОБНО ""%7%""
| ИЛИ Номенклатура.Артикул ПОДОБНО ""%8%""
| ИЛИ Номенклатура.Артикул ПОДОБНО ""%9%"")
|
|УПОРЯДОЧИТЬ ПО
| Артикул УБЫВ";
Результат = Запрос.Выполнить().Выбрать();
Результат.Следующий();
Строка = Строка(Результат.Артикул);
СтрокаЧисел = "";
Для Индекс = 1 По СтрДлина(Строка) Цикл
Символ = Сред(Строка, Индекс, 1);
Если КодСимвола(Символ) >= 48 И КодСимвола(Символ) <= 57 Тогда
СтрокаЧисел = СтрокаЧисел + Символ;
КонецЕсли;
КонецЦикла;

СледАртикул = "";
Попытка
СледАртикул = Число(СтрокаЧисел) + 1;
Исключение
КонецПопытки;

Возврат Формат(СледАртикул, "ЧГ=0");

КонецФункции
Функция ПроверитьАртикулНаДубликат( Номенклатура ) Экспорт

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Номенклатура.Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Артикул = &Артикул";
Если НЕ Номенклатура.ЭтоНовый() Тогда
Запрос.Текст = Запрос.Текст + " И Номенклатура.Ссылка <> &Номенклатура";
КонецЕсли;
Запрос.УстановитьПараметр("Артикул", Номенклатура.Артикул);
Запрос.УстановитьПараметр("Номенклатура", Номенклатура.Ссылка);
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда

Возврат ПолучитьНовыйАртикул();

КонецЕсли;

Возврат Номенклатура.Артикул;

КонецФункции


Оффлайн SkyNetYar

  • ****
  • Сообщений: 351
  • РЕПУТАЦИЯ: 10
  • КПД: 3%
  • Регистрация: 2014-10-25
  • Сайт: 
  • Профессия: Ученик 1С
Ну или может у кого есть свой метод генерации артикула и проверки на дубли с добавлением нового +1 ?

Оффлайн freez1301

  • ***
  • Сообщений: 130
  • РЕПУТАЦИЯ: 8
  • КПД: 6%
  • Регистрация: 2014-04-25
  • Сайт: 
  • Профессия: Ученик 1С
судя по всему результат запроса всегда возвращает одну и ту же позицию номенклатуры.
Может использовать что то типа МАКС(Артикул) ?

Оффлайн SkyNetYar

  • ****
  • Сообщений: 351
  • РЕПУТАЦИЯ: 10
  • КПД: 3%
  • Регистрация: 2014-10-25
  • Сайт: 
  • Профессия: Ученик 1С
Ну тут нестандартный подход к созданию артикула ,он жестко 6-ти значный с 1 начинается,вобщем то я разобрался,но хотелось бы увидеть простой способ генерации штрихкода с задаваемыми параметрами..


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
28 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 217
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal