|
Изменение номеров документов | ☑ | ||
---|---|---|---|---|
0
Валидатор
19.02.14
✎
11:15
|
конфа КА 8.2. Такой вопрос: Есть РС, в котором есть дата, и организация(Например конфетпром 01.01.2014). Есть документы ПКО и РКО, в которых есть реквизит касса, у которых есть реквизит подразделение, у подразделений в свою очередь есть префиксы. Так вот, для каждой кассы ставится префикс: Касса1 например с префиксом К1, Касса2 с префиксом К2. В итоге если дата документа больше той, что в РС указана, что при проведении документа, номер у документа будет такой (рассмотрим случай, когда у нас в ПКО касса1 с префиксом К1) : К10000001. Так в принципе и работает, но чтобы номер документа поменялся, нужно перевыбрать кассу и провести документ, а как сделать, чтобы при групповой обработки проведения документов, номер автоматически сам подставился?
Делал в процедуре перед записью: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ттПараметрыУчетаКассыПоПодразделениям.Организация, | ттПараметрыУчетаКассыПоПодразделениям.ДатаРедактирования |ИЗ | РегистрСведений.ттПараметрыУчетаКассыПоПодразделениям КАК ттПараметрыУчетаКассыПоПодразделениям |ГДЕ | ттПараметрыУчетаКассыПоПодразделениям.Организация = &Организация"; Запрос.УстановитьПараметр("Организация", ЭтотОбъект.Организация); Результат = Запрос.Выполнить().Выгрузить(); Для каждого Строка из Результат Цикл Если Строка.ДатаРедактирования < ЭтотОбъект.Дата Тогда Если НЕ ЭтотОбъект.Касса.ттПодразделение.Наименование = "" Тогда Если НЕ ЭтотОбъект.Ссылка.Касса.ттПодразделение.ттПрефиксКассовыхДокументов = ЭтотОбъект.Касса.ттПодразделение.ттПрефиксКассовыхДокументов Тогда ЭтотОбъект.УстановитьНовыйНомер(); КонецЕсли; Если ЭтотОбъект.Ссылка.Касса.ттПодразделение.ттПрефиксКассовыхДокументов = "" ИЛИ НЕ ЭтотОбъект.Ссылка.Касса.ттПодразделение.ттПрефиксКассовыхДокументов = ЭтотОбъект.Касса.ттПодразделение.ттПрефиксКассовыхДокументов Тогда ЭтотОбъект.УстановитьНовыйНомер(); КонецЕсли; КонецЕсли; Иначе КонецЕсли; КонецЦикла; а вот в общем модуле сама процедура установки номера: Процедура ПриУстановкеНовогоНомераДляДокументов(Источник, СтандартнаяОбработка, Префикс) Экспорт // {УНС "Техно-Терм" 04.02.2014 Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПриходныйКассовыйОрдер") ИЛИ ТипЗнч(Источник) = Тип("ДокументОбъект.РасходныйКассовыйОрдер") Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ттПараметрыУчетаКассыПоПодразделениям.Организация, | ттПараметрыУчетаКассыПоПодразделениям.ДатаРедактирования |ИЗ | РегистрСведений.ттПараметрыУчетаКассыПоПодразделениям КАК ттПараметрыУчетаКассыПоПодразделениям |ГДЕ | ттПараметрыУчетаКассыПоПодразделениям.Организация = &Организация"; Запрос.УстановитьПараметр("Организация", Источник.Организация); Результат = Запрос.Выполнить().Выгрузить(); Для каждого Строка из Результат Цикл Если Строка.ДатаРедактирования < Источник.Дата Тогда ПервыйПрефикс = (Источник.Организация.Префикс); ВторойПрефикс = Источник.Касса.ттПодразделение.ттПрефиксКассовыхДокументов; Префикс = ПервыйПрефикс+ВторойПрефикс; ДобавитьПрефиксОрганизации(Источник, Префикс + Префикс); ДобавитьПрефиксУзла(Префикс+Префикс); Иначе ДобавитьПрефиксОрганизации(Источник, Префикс); ДобавитьПрефиксУзла(Префикс); КонецЕсли; КонецЦикла; Иначе // }УНС "Техно-Терм" 04.02.2014 ДобавитьПрефиксОрганизации(Источник, Префикс); ДобавитьПрефиксУзла(Префикс); КонецЕсли; КонецПроцедуры Повторю еще раз вопрос: Как сделать, чтобы не нужно было перевыбирать кассу для установки нового номера документа, а достаточно было просто его перепровести? |
|||
1
Godofsin
19.02.14
✎
11:21
|
УстановитьНовыйНомер()?
|
|||
2
Валидатор
19.02.14
✎
11:30
|
(1) так использую
|
|||
3
Валидатор
19.02.14
✎
11:43
|
ап
|
|||
4
Валидатор
19.02.14
✎
11:44
|
(1) в коде написано же
|
|||
5
Валидатор
19.02.14
✎
12:58
|
знает кто?
|
|||
6
Валидатор
19.02.14
✎
13:21
|
иначе просто приходится выбирать другую кассу, проводить документ, потом возвращать предыдущую кассу, и проводить документ опять, тогда номер правильно встанет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |