gifts2017

Двойная нумерация документов

Опубликовал Наталья (fox_haus) в раздел Программирование - Практика программирования

Один из вариантов, как организовать двойную нумерацию документов.

Не знаю, как у вас, но ко мне часто обращаются с просьбой организовать двойную нумерацию одного типа документа. На данном сайте конечного решения я не нашла, и я решила описать, как делаю я. Может, кому-то поможет, и он сможет больше уделить внимания, например, своей семье, ну или личному хобби, кому что надо.

Технические условия: Организация в Управление торговлей ред. 10.3 ведет раздельный документооборот документов "Реализация товаров и услуг". Поясняю, учет организован таким образом, что есть 2 одинаковых документа Реализация товаров и услуг, но даты в них разные, так как для управленческого учета факт возникновения задолженности клиента возникает в момент отгрузки товара , а для бухгалтерского учета момент возникновения задолжности клиента возникает в момент получения товара клиентом (таковы условия и копаться в них не будем).

Задача: организовать сквозную нумерацию  документов "Реализация товаров и услуг" в пределах одной организации согласно флагам учета, а именно если флаг учета УПР, то документы имеют свою нумерацию 1,2,3 и т.д., а если флаг учета БУ, то свою 1,2,3 и т.д.

Решение:

1. Создаем реквизит в справочнике Организации - ПрефиксБУ:

2. В модуле общего назначения вставляем код

3. В модуле общего назначения вставляем код в функцию ПолучитьНомерНаПечать() - это для того, что бы номер на печать выводился без префиксов.

4. В модуле формы документа вставляем код.

Вот, в общем-то, и все.

 

 

См. также

Подписаться Добавить вознаграждение

Комментарии

1. борян петров (TODD22) 21.12.14 06:40
Задача: организовать сквозную нумерацию документов "Реализация товаров и услуг" в пределах одной организации согласно флагам учета, а именно если флаг учета УПР, то документы имеют свою нумерацию 1,2,3 и т.д., а если флаг учета БУ, то свою 1,2,3 и т.д.

А если документ отражается и УУ и в БУ тогда какой номер будет присвоен?
Вообще номер документа нужен больше системе чем пользователю. И особого смысла в "двойной сквозной нумерации" я что то не улавливаю...
2. борян петров (TODD22) 21.12.14 06:59
И ещё когда вы делаете изменения в нескольких модулях(объектах) в рамках одной задачи не плохо это указывать в комментариях
Например: //ШНВ Начало( дата, номер задачи)..

Потом проще разбираться в рамках какой задачи делалась конкретная доработка. А то может получится что в одном модуле будет 10-20 доработок и это решение 2-3 задач. По прошествии времени очень сложно вспомнить для решения какой именно задачи были сделаны конкретные доработки.
Так же по номеру задачи можно найти доработки во всех модулях которые относятся именно к этой задаче. Что сильно упрощает работу.
3. TMV 21.12.14 15:55
(0) маленькое замечание, я бы ломал не ПолучитьНомерНаПечать, а СформироватьМассивПрефиксовДляРИБИОрганизации
Yimaida; help1Ckr; +2 Ответить 1
4. Наталья (fox_haus) 21.12.14 16:34
(1) TODD22,
Если 2 флага то нумерация для БУ.
5. Наталья (fox_haus) 21.12.14 16:35
(2) TODD22, Принскины представлены с демо конфигурации, поэтому комментарии по миниуму.
6. Наталья (fox_haus) 21.12.14 16:36
(3) TMV, Пробовала-не работает.
7. Наталья (fox_haus) 21.12.14 16:40
(1) TODD22,
Вы писали :Вообще номер документа нужен больше системе чем пользователю. И особого смысла в "двойной сквозной нумерации" я что то не улавливаю...

Главбух встал в позу и сказал, что номер реализации должен равняться номеру счет-фактуре (на мой взгляд это бред, но решать надо было). Поэтому была заведена новая система нумерации, еще раз для каждого документа реализации с флагом БУ (а именно на основании такого документа выставляется СФ) своя нумерация.
8. Алексей (alexscamp) 22.12.14 10:01
неужели так сложно выучить комбинацию SHIFT+ALT+F, писать в нормальном регистре и ставить пробелы по общепринятым гайдлайнам? ладно если бы было что-то "для себя", но публиковать на уважаемом ресурсе такой код просто стыдно должно быть. по нему ведь в том числе и учатся новые разработчики, и чему они научатся?
По сути доработки - согласен с замечаниями TODD22 и TMV.
Хотя если пойти дальше и взять в расчет то, что бухгалтер настоял на равенстве номера для РТиУ и СФ - возможно я бы скорее для ПФ РТиУ просто номер заменил и не городил ничего вообще
MRAK; ojiojiowka; +2 Ответить 1
9. Наталья (fox_haus) 22.12.14 18:16
(8) alexscamp, Вы сами поняли, что написали? Этот ресурс для кого? Только для разработчиков? Или для нормальных людей, которые не понимают вашу аббревиатуру. Далее, покажите мне решение на этом ресурсе, где изложена данная задача.
10. Александр (Иной) 23.12.14 00:16
Интересный способ...
Тоесть, как я понял, та часть что якобы префикс будет отсекаться всегда =). А если кто туда циферку впишет, случайно... программно. Как это отразится на автонумерации?
11. борян петров (TODD22) 23.12.14 10:08
И что делать с пропущенными номерами? Документ сформировали но не стали проводить.
12. Наталья (fox_haus) 23.12.14 20:08
Поясняю кто не уловил суть механизма: по сути для каждой организации есть возможность завести 2 префикса. Первый префикс (штатный) который есть в системе и второй префикс для избранных документов, в частности рассмотрен вариант для документа Реализация товаров и услуг, при необходимости можно быстро подключить этот алгоритм и для других типов документов. Далее : принцип автонумерации точно такой же как и у обычного штатного механизма с префиксом .
Это ответ на вопрос, что будет с документ реализации который записан, а не проведен. Все то же самое, что и сейчас происходит с номером документа со штатным префиксом.
Далее ответ : А что делать с пропущенными номерами, документы которые сформировались, но не провели - а сейчас вы что делаете? Вы их удаляете? Или как? Конечно можно добавить запись в регистре и отслеживать через нее последний проведенный документ, но зачем? Зачем усложнять задачу.
13. Стас Р (grfsd) 23.12.14 21:20
Вопрос, а данную ситуацию нельзя решить таким способом: для разных видов учета используется один и тот же документ, меняется лишь дата отражения в учете, если завести еще одну дату для второго вида учета по которой проведется документ по регистрам?
14. Алексей Алексеев (Aleksey_3) 23.12.14 22:09
(7) Это не бред, а нормальное желания человека у которого в месяц больше чем одна накладная. И если вам не понятно это не надо так категорически писать, что это бред.
15. Дмитрий Егоров (Diego_Iv) 24.12.14 17:50
(14) Aleksey_3,
Счет - фактура вводится не только на основании накладной ("Реализации товаров и услуг").
Есть еще поступление на р/с, передача ОС, реализация услуг по переработке и т.д.

Согласно "нормальным" желаниям человека для всех видов документов, на основании которых может вводиться с/ф, надо делать единую сквозную нумерацию.
16. Наталья (fox_haus) 24.12.14 21:51
Наверно многих эта тема затронула за живое и все пошли в дебри. Еще раз озвучу: суть задачи заключалась в следующем : организовать сквозную нумерацию для документов Реализация товаров и услуг с флагом БУ, что бы номер счет-фактура выданная равнялся номеру документа реализация товаров и услуг (при этом префикс роли не играет , так как при распечатки его все равно нет). Поясняю у организации разрыв во времени между реализацией с флагом УПР и документом реализации с флагом БУ. Документы с флагом БУ переносятся в программу Бухгалтерия предприятие (где сидит глав бух и диктует условия) .
Далее вы можете тут спорить долго, но данный механизм внедрен и верой и правдой отслужил почти 2 года. Все счастливы.
Далее, если у кого то возник вопрос, про документооборот этой организации, около 150-200 документов реализация товаров и услуг в день.
17. Лисенок (Lissenok) 25.12.14 09:42
Лично в моем случае я решил данную ситуацию так:

В обработке При изменении реквизита "Отражать в БУ" добавил:

УстановитьНомерДокумента(ЭтотОбъект);

А уж в общем модуле эту процедуру немного подправил:

Если МетаданныеДокумента.Реквизиты.Найти("Организация") = Неопределено
Или ЗначениеНеЗаполнено(ДокументОбъект.Организация.Префикс) И МетаданныеДокумента.Реквизиты.Найти("ОтражатьВБухгалтерскомУчете") = Неопределено Тогда

ДокументОбъект.УстановитьНовыйНомер("00");

ИначеЕсли ДокументОбъект.ОтражатьВБухгалтерскомУчете = Ложь Тогда

ДокументОбъект.УстановитьНовыйНомер("00");

ИначеЕсли ДокументОбъект.ОтражатьВБухгалтерскомУчете = Истина Тогда
ДокументОбъект.УстановитьНовыйНомер("БУ");

Иначе
ДокументОбъект.УстановитьНовыйНомер(ДокументОбъект.Организация.Префикс);

КонецЕсли;

Вообщем как то так.
2 года полет нормальный.
irishka77; +1 Ответить
18. Саша Безымяный (help1Ckr) 25.12.14 13:50
Решал подобную проблему добавлением регистра сведений - тогда не нужно менять справочник организации. Для нумерации документа использовал подписку на событие "При установке нового номера" что бы не переписывать модуль общий.
19. Алексей (alexscamp) 26.12.14 20:49
(9) fox_haus, зря вы на такой тон переходите, мы же пытаемся разобраться и найти наилучшее решение, или обоснованно выбрать из множества допустимых. этот ресурс много для кого, вы правы, но конкретно эта тема вроде как про разработку была, находится в разделе "практика программирования", то есть - для разработчиков, а разработчики все-таки должны некоторых правил придерживаться. мне бы хотелось, чтобы мои коллеги учились здесь правильным вещам.
не знаю, какие аббревиатуры вам показались непонятными, казалось, что любой разработчик знает что такое печатная форма (ПФ), реализация товаров и услуг (РТиУ), но раз я ошибся - буду иметь ввиду и использовать их обязательно с расшифровкой.
а еще мне интересно, какой номер должен использоваться по мнению вашего бухгалтера для счета-фактуры (СФ), если у него в основании несколько документов (такое допустимо). но это так, вопрос риторический.
20. Наталья (fox_haus) 31.12.14 13:57
(18) help1Ckr, В принципе вариант хороший, но пользователю удобнее видить в карточке Организации
21. Наталья (fox_haus) 31.12.14 14:03
(19) alexscamp, Спасибо за сообщение, но данный раздел любят читать именно бухгалтера и менеджеры (мне лично они постоянно об этом говорят) . Вот почему то заставить их почитать хелп по программе - не получается, а почитать кто что дописал в программе так это всегда пожалуйста, а потом грузят типа "мы читали да это сделать очень просто" ну и тд.
22. борян петров (TODD22) 31.12.14 16:12
(14) Aleksey_3,
Это не бред, а нормальное желания человека у которого в месяц больше чем одна накладная. И если вам не понятно это не надо так категорически писать, что это бред.

У меня намного больше чем одна накладная в месяц. Работал с торговыми компаниями с очень крупным документооборотом. Ни у кого такой задачи не возникало. Что они делают не так? В чём конкретно для них профит такой нумерации?
а еще мне интересно, какой номер должен использоваться по мнению вашего бухгалтера для счета-фактуры (СФ), если у него в основании несколько документов (такое допустимо). но это так, вопрос риторический.

+1 в сводную СФ какой тогда номер ставить, а с 15 года использование сводных СФ расширили :)
Спасибо за сообщение, но данный раздел любят читать именно бухгалтера и менеджеры

Тем то и плохо....
alexscamp; +1 Ответить
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа