0
John83
31.10.14
✎
11:05
|
Префикс задается через код кассы, когда в коде присутствует цифра, префикса не должно быть и нумерация стандартная.
Проблема в том, что стандартной нумерации не получается - ставится тот префикс, который шел последним. Как тут лучше поступить?
в процедуре ПриУстановкеНовогоНомераДокументаПриУстановкеНовогоНомера такой код
ОбщегоНазначения.ДобавитьПрефиксОрганизации(Источник, Префикс);
ОбщегоНазначения.ДобавитьПрефиксУзла(Префикс);
Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПриходныйКассовыйОрдер") ИЛИ ТипЗнч(Источник) = Тип("ДокументОбъект.РасходныйКассовыйОрдер") Тогда
КодКассы = СокрЛП(Источник.Касса.Код);
ЕстьЦифра = Ложь;
Для Положение = 1 По СтрДлина(КодКассы) Цикл
Если Найти("0123456789", Сред(КодКассы, Положение, 1)) Тогда
ЕстьЦифра = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если НЕ ЕстьЦифра Тогда
Префикс = Префикс + КодКассы;
КонецЕсли;
КонецЕсли;
|
|
1
John83
31.10.14
✎
11:12
|
придумал! т.к. тут только одна касса "без префикса", то просто код кассы сделать "0"
всем спасибо за внимание
Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПриходныйКассовыйОрдер") ИЛИ ТипЗнч(Источник) = Тип("ДокументОбъект.РасходныйКассовыйОрдер") Тогда
КодКассы = СокрЛП(Источник.Касса.Код);
Если КодКассы = "0" Тогда
Префикс = Префикс + КодКассы;
Иначе
ЕстьЦифра = Ложь;
Для Положение = 1 По СтрДлина(КодКассы) Цикл
Если Найти("0123456789", Сред(КодКассы, Положение, 1)) Тогда
ЕстьЦифра = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если НЕ ЕстьЦифра Тогда
Префикс = Префикс + КодКассы;
КонецЕсли;
КонецЕсли;
КонецЕсли;
|
|