|
Нумерация документов, управляемое приложение | ☑ | ||
---|---|---|---|---|
0
sqr4
23.07.14
✎
11:24
|
Делаю подписку на событие ПриСозданиеНовогоНомера, в общем модуле формирую префикс в зависимости от выбранной организации. Проблема в том что данное событие обрабатывается только при создании документа. А хотелось бы чтобы при записи, т.к в данный момент при смене организации префикс не меняется. Прошу помощи
|
|||
1
Ns33
23.07.14
✎
11:34
|
Ну так и вызывай установку в ПередЗаписью
Процедура ПередЗаписьюДокументаПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт Если Источник.Ссылка.Пустая() Тогда //Состав = метаданные.ОбщиеРеквизиты.Автор.Состав.Найти(Источник.Метаданные()); //Если Состав.Использование = Метаданные.СвойстваОбъектов.ИспользованиеОбщегоРеквизита.Использовать Тогда Источник.Автор=ПараметрыСеанса.ТекущийПользователь; //КонецЕсли; КонецЕсли; Если НЕ Источник.Ссылка.Пустая() Тогда //надо отследить изменение года в дате НАдоНовыйНомер=Ложь; Ссылка=Источник.Ссылка; Если ГОД(Ссылка.Дата) <> Год(Источник.Дата) Тогда НАдоНовыйНомер=Истина; КонецЕсли; Если Источник.метаданные().Реквизиты.Найти("Организация")<> Неопределено Тогда Если Источник.Организация <> Ссылка.Организация Тогда НадоНовыйНомер=Истина; КонецЕсли; КонецЕсли; Если НадоНовыйНомер Тогда Источник.Номер=""; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
2
Maxus43
23.07.14
✎
11:35
|
зачем вручную всё делать? перед записью сомтри, если меняют организацию то есть метод УстановитьНовыйНомер()
Это влесёт за собой и подписку емнип |
|||
3
Ns33
23.07.14
✎
11:42
|
(2) Источник.Номер=""; вызывает подписку установки нового номера, а вот ручной вызов УстановитьНовыйНомер() будет дублировать существующую подписку.
|
|||
4
Maxus43
23.07.14
✎
11:54
|
(3) пусть дублирует. При смене организации - правильный префикс и поставит. Не ломая никак механизм нумерации, всё в одном месте будет
|
|||
5
sqr4
25.07.14
✎
12:35
|
Ну вообщем сделал как советовали через установитьНовыйНомер() Отработало. Единственное, номер формируется так Префикс-000001,Префикс-000002, а нужно Префикс-1, Префикс-2, т.е убрать лидирующие нули. Пробовал менять непосредственно номер, но тогда сбивается нумерация, т.е следующий номер все равно получается Префикс-1. Затем попробовал создать новый реквизит, в который бы записывались обработанные данные из номера и выводить его во все формы. Тут проблема в том что, не могу нормально записать этот реквизит когда создается новый документ. Если обрабатывать событие перед записью, там еще не заполнен номер. ПриЗаписи уже не меняется реквизит... Как быть не могу понять. Прошу помощи
|
|||
6
sqr4
25.07.14
✎
13:48
|
ап
|
|||
7
sqr4
25.07.14
✎
14:31
|
ап ап ап
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |