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