Посоветуйте как можно проверить из-за чего так получается или как исправить, вот код может тут ошибка?
Пр = СокрЛП(Организация.Префикс);
Если ЭтотОбъект.ВидДокумента = Перечисления.ВидРасхода.БезналичныйРасчет Тогда
Если не СокрЛП(Организация.Наименование) = "Название компании" Тогда
Если Найти(Номер, "Б-") = 0 Тогда
УстановитьНовыйНомер("Б-");
КонецЕсли;
Иначе
Если Найти(Номер, "Б-") = 0 Тогда
УстановитьНовыйНомер(Пр+"Б-");
КонецЕсли;
КонецЕсли;
Иначе
Если не СокрЛП(Организация.Наименование) = "Название компании" Тогда
Если Найти(Номер, "Н-") = 0 Тогда
УстановитьНовыйНомер(Пр+"Н-");
КонецЕсли;
Иначе
Если Найти(Номер, "Н-") = 0 Тогда
УстановитьНовыйНомер(Пр+"Н-");
КонецЕсли;
(0) Номер - это номер документа, по факту, ещё может быть пустым
А ты построил алгоритм на его анализе.
Вот это:
"Если не СокрЛП(Организация.Наименование) = "Название компании" Тогда"
Слов нет, буквы теряются - пользователь добавит лишний пробел в наименовании или поменяет буквы и твой код отправится в космос.
Если полез в сравнение, то, хотя бы, на код записи опирайся, до него пользователю долезть сложнее.
Если локально для конкретного типа документа, то, по уму, сделай РС с Организацией, видом расхода и префиксом
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший