Почему при установке нового номера не учитывается переодичность установленная в настройках?

1. portal80 29.12.20 11:50 Сейчас в теме
Проблема в следующем. Необходимо реализовать без снятия с поддержки конфы БП 3.0 средствами расширения нумерацию документа СчетНаОплатуПокупателю


По умолчанию в конфигурации следующие настройки у объекта СчетНаОплатуПокупателю:

В свойствах установлено:
1. автонумерация ИСТИНА
2. контроль уникальности ИСТИНА
3. переодичность в пределах года.

В функции ПриУстановкеНовогоНомера () переопределяю номер документа, но при попытке установить новый номер срабатывает контроль уникальности

Такой номер уже существует. Да такой номер действительно есть но данный номер был в прошлом году.

Поэтому вопрос как быть?

Почему при переопределении функции ПриУстановкеНовогоНомера переодичность документа как бы становится непереодичной


Можно ли вообще программно как то влиять на контроль уникальности и переодичность , можно ли их изменить программно?

В расширении нет возможности переопределить эти настройки.


Номер переопределяю так

&Вместо("ПриУстановкеНовогоНомера")
Процедура прл_ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)

	 СтандартнаяОбработка = ЛОЖЬ;
	 
	
	 
	Если не Организация.Пустая() Тогда  
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ ПЕРВЫЕ 1
		|	СчетНаОплатуПокупателю.Номер КАК Номер
		|ИЗ
		|	Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
		|ГДЕ
		|	СчетНаОплатуПокупателю.Организация = &Организация
		|	И СчетНаОплатуПокупателю.Проведен = ИСТИНА
		|	И СчетНаОплатуПокупателю.ПометкаУдаления = ЛОЖЬ
		|
		|УПОРЯДОЧИТЬ ПО
		|	СчетНаОплатуПокупателю.Дата УБЫВ";
	
	
	Запрос.УстановитьПараметр("Организация", Организация);
	Запрос.УстановитьПараметр("Дата", НачалоГода(Дата));
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	
	ВыборкаДетальныеЗаписи.Следующий();
	
	ПрефиксНомера = Организация.Префикс+"БП-";	
    НомерНовый = Число(ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ВыборкаДетальныеЗаписи.Номер, Истина, Ложь));
	НомерНовый = НомерНовый+1;
	НомерНовый = Формат(НомерНовый, "ЧЦ=6; ЧВН=; ЧГ=0");
	Номер = ПрефиксНомера+Строка(НомерНовый);
	
	КонецЕсли; 
	
	ПродолжитьВызов(СтандартнаяОбработка, Префикс);
	
КонецПроцедуры


Показать
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. soft_wind 29.12.20 12:15 Сейчас в теме
иногда сбивается нумерация, необходимо восстанавливать
Прикрепленные файлы:
ИсправлениеНумерации.epf
3. portal80 29.12.20 12:33 Сейчас в теме
(2) Не совсем понятна как данная обработка может мне помочь.
4. soft_wind 29.12.20 12:44 Сейчас в теме
а в коде у вас вообще ужас!
а если у вас документы вводили задним числом?
дата у них меньше а номер больше!!! вы их второй раз и берете!

оставьте нумерацию платформе!
Sashares; portal80; +2 Ответить
6. portal80 29.12.20 14:32 Сейчас в теме
(4)Нумерацию не могу оставить платформе так как решили в этом году продолжить нумерацию от последнего номера в этом году

С задним число вы правы.

Наверное самым простым это будет сменить префиксы и начать с нуля и создавать номер не по дате последней как сейчас у меня а по номеру
5. burgomister 59 29.12.20 13:33 Сейчас в теме
Проблема стара, как мир. Хочется бухгалтеру свою нумерацию, а вы там пляшите как хотите... Всегда надо настаивать на том, чтобы нумерацией управляла сама программа. Не мешайте ей. В конце концов начните с нового префикса, тогда и отсчёт начнётся с первого номера правильно.
alex-l19041; portal80; +2 Ответить
7. soft_wind 29.12.20 14:41 Сейчас в теме
(6)
так как решили в этом году продолжить нумерацию от последнего номера

и зачем огород городить?
Это же элементарно Ватсон!
просто создайте в новом году ПЕРВЫЙ документ и присвойте ему максимальный номер
все остальные документы в следующем году автоматом пойдут от номера первого!!!

ни чего программировать не надо, платформа рулит!!!
8. portal80 29.12.20 16:03 Сейчас в теме
(7) И что вы предлагаете каждый год 7 организаций создавать данные номера? Хочется автомат)
9. soft_wind 29.12.20 16:59 Сейчас в теме
да легко, Регламент вам в руки (в смысле регламентное задание, с расписанием 1 раз в год 01.01... каждого года в в 00ч00м01сек)
10. Sashares 35 30.12.20 09:46 Сейчас в теме
Если вы не хотите нумерацию в пределах года - так измените периодичность нумерации в документе.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот