• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Не вводится новый контрагент

  • Автор темы panzergraf
  • Дата начала
P

panzergraf

Товарищи, помогите.
При вводе нового контрагента в окне сообщений выскакивает надпись "Код не уникальный!"
Менял порядок нумерации, тип кода (числовой, текстовый).
Все работает, только если вычистить из базы всех контрагентов.
Возможно проблема в том, что код вводился в ручную (в соответствии с другой базой).
Удалил последних контрагентов-бесполезно.
Подскажите, если есть какие-нибудь соображения, уже недель голову ломаю.
Заранее спасибо!
 
V

vitfil

Проблема в том, что контрагент с таким кодом уже существует.
 
P

panzergraf

так нету такого кода, совсем нету, я даже вручную нумеровал (там их всего около 60)
 
L

LSH

Для: panzergraf
Сбилась нумерация.
Попробуйте сделать:
1. Конфигуратор - Администрирование - Выгрузить данные
2. Конфигуратор - Администрирование - Загрузить данные
3. Сделать перенумерацию справочника (целиком)

Как вариант - отключить контроль уникальности номеров.
 
P

panzergraf

выгрузку сейчас попробую
перенумерацию уже делал, не помогло
 
P

panzergraf

выгрузка-загрузка тоже не помогает((
может еще какие-нибудь мысли есть?
 
Z

Zab

может просто отключена автонумерация справочника?
 
P

panzergraf

автонумерация и контроль уникальности не помогает
ошибка вылезает при любом коде
 
Z

Zab

Предположим, что у тебя длина кода справочника - 3 знака. Если ввести элемент с кодом 999, то 1С не сможет больше нумеровать справочник, т.к. всегда присваивает код на единицу больше самого большого. Вывод: поставь, допустим, числовой код, и перенумеруй от 1 до (сколько у тебя там элементов?) или, если хошь текстовый, то перенумеровать надо от 001 (для 3-х значного кода) до 060, допутим... Естесвтвенно, убедись, что стоит автонумерация. Не забудь сохранить изменения.
 
L

LSH

Еще один вариант "для экстремалов" :lol:
Сделай реквизит "Код" длиной 0 знаков
Сохрани
Потом верни всё назад
Сохрани

После этого в поле Код во всех элементах должно быть пусто.
А дальше простой перенумерацией.

З.Ы. За вред причиненный данным методом, аффтор ответственности не несёт, ибо он настоятельно рекомендует делать это на КОПИИ базы!
 
P

panzergraf

to Zab это уже пробовал

to LSH интересный вариант, но тоже не помогло.При нулевой длине код вообще пропадает, но ошибка остается

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

З.Ы. забыл сказать, что при повторном нажатии кнопки "Сохранить" исчезает полное наименование контрагента и код, выскакивает ошибка "Неверное значение"
 
L

LSH

Тогда однозначно проблемы в файловой системе.
Конкретно - смотри в файле 1cv7.dd, где именно находится справочник Контрагенты. Далее, открывай любым редактором DBF этот файл и смотри что-там. Возможно ошибки кроются в неверном внесении кодов справочника. Любые поля содержащие символ | (палка) - косяк. Их надо заменить на любой другой символ, например, цифру 0. Ни в коем случае не удалять этот символ без замены!
Далее, удаляем вручную все индексы и грузимся монопольно.

З.Ы. За вред причиненный данным методом, аффтор ответственности не несёт, ибо он настоятельно рекомендует делать это на КОПИИ базы!
 
P

panzergraf

поковырял dbf, похоже косяк действительно в нем
а что конкретно-пока понять не могу
 
P

panzergraf

все, разобрался
при воде контрагента в справочнике "Договоры" каждуй раз создавался договор с кодом 100, который уже был под другим контрагентом, поэтому вылезала ошибка
всем спасибо :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!