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

УТ 11. Код для новой номенклатуры

Автор freez1301, 20 авг 2014, 10:01

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

freez1301

приветствую!
в модуле справочника Номенклатура в процедуре ПередЗаписью при создании нового элемента вызывается вот такая вот функция УстановитьНовыйКод(). В ее описании сказано, что ищет максимальный код ном-ры в базе и добавляет единицу.
Вопрос в след - у меня в базе номенклатура имеет код с 1-2400, но УстановитьНовыйКод() генерирует код типа 00-00000001, 00-00000002 и т.д. Может где какая настройка дополнительно еще есть?

DmitriyF

Цитата: freez1301 от 20 авг 2014, 10:01
приветствую!
в модуле справочника Номенклатура в процедуре ПередЗаписью при создании нового элемента вызывается вот такая вот функция УстановитьНовыйКод(). В ее описании сказано, что ищет максимальный код ном-ры в базе и добавляет единицу.
Вопрос в след - у меня в базе номенклатура имеет код с 1-2400, но УстановитьНовыйКод() генерирует код типа 00-00000001, 00-00000002 и т.д. Может где какая настройка дополнительно еще есть?
Вот если перенумеровать то коды нормальными станут. а Ваш 1-2400 редактировался вручную. И система правильно делает что генерирует код 00-00000001 т.к. в конфигураторе установлено 11 символов если не ошибаюсь

freez1301

коды перенесены с 7 и клиент хочет что бы и дальше код формировался последовательно. Придется все таки каждый раз определять максимальный и прибавлять единицу :mellow:

DmitriyF

Цитата: freez1301 от 20 авг 2014, 11:56
коды перенесены с 7 и клиент хочет что бы и дальше код формировался последовательно. Придется все таки каждый раз определять максимальный и прибавлять единицу :mellow:
проще перенумеровать будет.

freez1301

перенумеровать проще, ага, но клиент при продажах в основном ищет по как раз таки коду. Конечно можно его код поместить в артикул, но артикул уже занят.
Щас пытаюсь найти максимальное значение кода, пока безуспешно, так как код в виде строки и его преобразование к числу - ничего не дает
Добавлено: 20 авг 2014, 15:06


разобрался. оказывается после отработки Число(стр.Код) - получал число и писал его назад в эту же ТЗ, а вот в ТЗ каким то образом - уже оказывалась вновь строка. Итого: переписал в новую ТЗ1, сортировка и УРА, элемент найден ))

LexaK

получить коды всей номенклатуры, конвертануть в число,  поместить в ТЗ? и это затем что бы  отсортировать и получить максимальный?
ну блин много говнокода видел, но такого еще не видел!

почему просто запрос не написать и выполнить.

Запрос.Текст = "Выбрать максимум(Код) как Код из Справочник.Номенклатура";
если помогло нажмите: Спасибо!

freez1301

Цитата: LexaK от 20 авг 2014, 16:15
получить коды всей номенклатуры, конвертануть в число,  поместить в ТЗ? и это затем что бы  отсортировать и получить максимальный?
ну блин много говнокода видел, но такого еще не видел!

почему просто запрос не написать и выполнить.

Запрос.Текст = "Выбрать максимум(Код) как Код из Справочник.Номенклатура";
читайте внимательнее - есть номенклатура с нечисловыми символами. Ваш код возвращает первый элемент на букву А!

Besart

Цитата: freez1301 от 20 авг 2014, 14:33но клиент при продажах в основном ищет по как раз таки коду
не знаю как в было в 7, но в УТ 11 номенклатуру ищут или по наименованию или по артикулу


cska-fanat-kz

в вашем перенесенном коде есть "-", т.е. все что до ("1") система считает префиксом и нумерует соответственно в его пределах.
УстановитьНовыйКод() нумерует уже БЕЗ префикса, вот и получается, что по своему.
Вернее не совсем без префикса раз у вас начинается на "00-" - это префикс организации наверное...

Попробуйте в префиксе организации поставить "1-" (или просто "1") и посмотреть, какой номер присвоит...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru

Поиск