Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нумерация документов Реализация товаров и услуг
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Kutuzov
Конфа УТП 8.2
Реализация префиксов документа в зависимости от установленной галочки отражать в бух учете или нет.
Смысл в чем, если в указанном выше документе (РТУ) установлена галочка отражать в бух учете тогда префикс документа должен быть например "Бух" и нумерация в разрезе этого префикса. и если галочка не установлена тогда ставим префикс например организации.

Что у меня получилось при постановке префикса "Бух" он по правилам автонумерации ставит его же во все остальные вновь создаваемые документы не взирая на то что я проставляю префикс организации.
Каким образом можно обойти поиск самого длинного префикса в атонумерации, и передавать нужный мне префикс.
Соответственно в УТП есть так называемый подписчик на события который также не хочет передавать номер с нужным префиксом даже при отработке условия на указания префикса.
64000000.gif
kivals
Правильно выбрать префиксы.
Желательно чтобы все префиксы (включая константный "Бух") были одной длины - тогда проблема уйдет сама собой.
Иначе - выбирать префиксы так, чтобы никакой из них не был началом другого (если у Вас используется "Бух" - то "", "Б" и "Бу" запрещены). Пустая строка является началом любого префикса, так что если хоть какой-то используются - без префикса Вы нумеровать уже не сможете.

Причина в следующем:
Для создания нового номера система ищет предыдущий по принципу: Номер ПОДОБНО Префикс+"%" и выбирает максимальный из найденых. В этом случае буква всегда будет больше цифры, и "Бух001" найдется как макимальный для "Б%". (И только лишь потом система увеличивает число в номере для создания следующего)

P.S. ИМХО Регистр в префиксах не влияет на поиск, потому "БУХ" и "Бух" будет нумероваться в одной последоватльности
Kutuzov
Цитата(kivals @ 02.11.11, 10:48) необходимо зарегистрироваться для просмотра ссылки
Правильно выбрать префиксы.
Желательно чтобы все префиксы (включая константный "Бух") были одной длины - тогда проблема уйдет сама собой.
Иначе - выбирать префиксы так, чтобы никакой из них не был началом другого (если у Вас используется "Бух" - то "", "Б" и "Бу" запрещены). Пустая строка является началом любого префикса, так что если хоть какой-то используются - без префикса Вы нумеровать уже не сможете.

Причина в следующем:
Для создания нового номера система ищет предыдущий по принципу: Номер ПОДОБНО Префикс+"%" и выбирает максимальный из найденых. В этом случае буква всегда будет больше цифры, и "Бух001" найдется как макимальный для "Б%". (И только лишь потом система увеличивает число в номере для создания следующего)

P.S. ИМХО Регистр в префиксах не влияет на поиск, потому "БУХ" и "Бух" будет нумероваться в одной последоватльности


Я так понимаю, что мне для использования префиксов "Ал" и "Бух" нужно будет убрать автонумерацию... и самостоятельно искать последний номер для соответствующих условий и пробивать тем самым номер
kivals
Вроде как "Ал" и "Бух" не пересекаются согласно описанным мною условиям. А вот если в результате проерки условий Вы забудете установить преикс и оставите его пустым - тогда система продолжать нумерацию "Бух" (если других префиксов нет).
Проблема видимо не в этих префиксах. Какое событие используется в подписке? Выложите полный код сюда...
Kutuzov
Цитата(Kutuzov @ 02.11.11, 11:01) необходимо зарегистрироваться для просмотра ссылки
Я так понимаю, что мне для использования префиксов "Ал" и "Бух" нужно будет убрать автонумерацию... и самостоятельно искать последний номер для соответствующих условий и пробивать тем самым номер


Ну что ж сделал.... все как говорилось выше...
Моя ошибка была в том что я использовал префикс Ал И АЛБух а не просто бух.... тем самым у меня произошло то что говорил kivals.

Ну тогда раз я сделал:
1. Решил задачу.
2. Сказал спасибо.

тему можно закрыть.... 12000000.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.