Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 04:24

Как программно заменить префикс документа?

Автор Gennadiyy, 16 мая 2016, 13:58

0 Пользователей и 1 гость просматривают эту тему.

Gennadiyy

Здравствуйте! Необходимо следующее: При создании нового документа "счет на оплату" при определенных условиях ставить другой префикс, к примеру сейчас документы имеют префикс НФФР, а при установленной галки должен генерироваться с префиксом "ТО", в модуле объекта документа счет на оплату делаю так:

Если ЭтоНовый() Тогда
Если ЭтотОбъект.ТО Тогда
ЭтотОбъект.УстановитьНовыйНомер("ТО-");
КонецЕсли;
КонецЕсли;

Проблема в следующем: он подставляет к уже имеющемуся префикс "то-" и получается НФФР-ТО-001, и из за этого у нумерации документа улетучиваются 3 разряда.

LexaK

попробуйте прямую замену префикса
после стандартного получения номера, просто выполните замену, (правда придется подумать над контролем)

...
Если ЭтотОбъект.ТО Тогда
     ЭтотОбъект.Номер = СтрЗаменить(ЭтотОбъект.Номер,"НФФР","ТО-");
КонецЕсли;
...


по идее не должно быть такой ситуации с задвоением префикса, где-то косяк в коде,

если помогло нажмите: Спасибо!

Gunner

У объекта есть такое событие "ПриУстановкеНовогоНомера", используйте его в модуле объекта. Передается второй параметр "Префикс"
Т.е. будет что-то типа этого
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
    Если Тогда
        Префикс = "xxx";
    КонецЕсли;
КонецПроцедуры


Gennadiyy

Цитата: Gunner от 16 мая 2016, 15:57
У объекта есть такое событие "ПриУстановкеНовогоНомера", используйте его в модуле объекта. Передается второй параметр "Префикс"
Т.е. будет что-то типа этого
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
    Если Тогда
        Префикс = "xxx";
    КонецЕсли;
КонецПроцедуры

Спасибо) Так тоже пробовал, эффект тот же, и по какой то причине (возможно потому, что префикс берется из кэша) - он в последующих документах во всех заменяет префикс, без разницы выполнилось ли условие или нет, поэтому на рабочей базе решил не рисковать с этим)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск