Версия для печати темы (https://pro1c.org.ua/index.php?s=3721f79376244fd5c7be234220e7cc61&showtopic=5256)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Нумерация документов Реализация товаров и услуг

Автор: Kutuzov 02.11.11, 10:02

Конфа УТП 8.2
Реализация префиксов документа в зависимости от установленной галочки отражать в бух учете или нет.
Смысл в чем, если в указанном выше документе (РТУ) установлена галочка отражать в бух учете тогда префикс документа должен быть например "Бух" и нумерация в разрезе этого префикса. и если галочка не установлена тогда ставим префикс например организации.

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

Автор: kivals 02.11.11, 10:48

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

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

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

Автор: Kutuzov 02.11.11, 11:01

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

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

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


Я так понимаю, что мне для использования префиксов "Ал" и "Бух" нужно будет убрать автонумерацию... и самостоятельно искать последний номер для соответствующих условий и пробивать тем самым номер

Автор: kivals 02.11.11, 13:32

Вроде как "Ал" и "Бух" не пересекаются согласно описанным мною условиям. А вот если в результате проерки условий Вы забудете установить преикс и оставите его пустым - тогда система продолжать нумерацию "Бух" (если других префиксов нет).
Проблема видимо не в этих префиксах. Какое событие используется в подписке? Выложите полный код сюда...

Автор: Kutuzov 02.11.11, 13:35

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


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

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

тему можно закрыть.... 12000000.gif

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua