Имя: Пароль:
   
1C
1С v8
Немного магии на серверной базе
0 НачинающийНик
 
11.02.19
01:50
Розница на PG SQL ~40гб, небольшая задача: в регистре сведений хранятся ссылки на примерно на 7к справочников номенклатуры и доп. уникальный буквенно-цифровой код в реквизите этого регистра нужно считать код и записать его в поле артикул соответствующей номенклатуры.

Как сделал: внешняя обработка, простой запрос и при в обходе результата на ссылке номенклатуры ПолучитьОбъект(), присваиваю артикул, записываю.

Обработка завершилась без ошибок.
Решил перепроверить.
Через консоль запрашиваю этот регистр и вывожу <> артикул и код. Рассчитываю получить результат - 0.

А нет, почему-то есть 55 элементов где артикул и код разнятся.
Запустил еще раз обработку, она выдала информацию что поменяла 55 элементов и завершила запись без ошибок.

Запускаю еще раз запрос через консоль. Опять 55 элементов не совпадающих код<>артикул.

Решил вручную через карточку номенклатуры поменять артикул и присвоить номенклатуре нужный код на 1 элементе.

Все прошло удачно.
Запускаю запрос через консоль. Снова несовпадающие 55 элементов.

Как такое может быть? Значение в справочнике осталось то, которое я вручную остановил, но в регистре сведений оно поменялось артикул стал кодом, код стал артикулом.

Потер глаза, поискал в конфигураторе ссылки на этот регистр - 0. Поискал и в расширениях, нет ничего чтобы перехватывало момент записи справочника и меняло данные в регистре.

Запустил ТиИ, сижу жду..
1 Aleksey
 
11.02.19
02:00
Проверь в обработки значение после записи.
Ну и как бы, а что говорит отладчик?
2 Fram
 
11.02.19
02:01
Фикс длина у кода?
3 Garykom
 
11.02.19
02:10
Дубли?
4 НачинающийНик
 
11.02.19
02:10
(1) обработка то моя не причем получается, если я через форму элемента меняю значение реквизита, и при записи меняется значение реквизита в регистре сведений.

(2) код - это реквизит строковый в регистре сведений, я его пихаю в реквизит артикул справочника номенклатуры. ты наверное не правильно понял проблему.
5 Garykom
 
11.02.19
02:11
У тя эти 55 записей в РС случайно не такого вида:
Номенклатура Код Артикул
Товар1 123 321
Товар1 321 123
6 НачинающийНик
 
11.02.19
02:11
(3) Дублей в регистре сведений по измерению (номенклатура там измерение) не может же быть?
7 НачинающийНик
 
11.02.19
02:13
Грешу на то, как я делал копию этой базы для разработке на своем компе. Честно говоря ни разу до этого так не делал, и вот опять: куча пользователей - не выгнать, я из pgadmin сделал бекап и развернул у себя чтобы потестить обработку.
База немаленькая, выгружалась минут 15.
8 Garykom
 
11.02.19
02:14
9 НачинающийНик
 
11.02.19
02:16
(8) не проверял на дубли, пока не могу перепроверить, ТИИ делается.
10 НачинающийНик
 
11.02.19
02:18
В смысле 55 уникальны между собой, может быть там есть их дубли с совпадающими код-артикул и в запросе просто не выдавало их мне.
11 НачинающийНик
 
11.02.19
02:18
в запросе -проверке в смысле )
12 НачинающийНик
 
11.02.19
11:06
В общем (3) был прав на 100%.
Спасибо огромное!
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс