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