Имя: Пароль:
1C
1С v8
Подмена реквизита при проведении документа
,
0 lisichka64
 
18.08.21
11:25
Добрый день! Ситуация такая: есть РКО (делается копированием с идентичного), в нем контрагент (и партнер) с его договором (все три реквизита идентичны), при проведении документа в регистры попадает договор от другого контрагента. В момент проведения таблицы для регистров заполняются из ссылки, в ссылках все правильно, но в таблицу попадает уже не тот договор. Все возможные "дыры" по подмене или неправильному поиску договора закрыты, контрагенты и партнеры сопоставлены верно, такая картина наблюдается только на одной базе, на других локальных копиях повторить такое не получается, в чем может быть проблема? Уже всю голову поломала
1 VladZ
 
18.08.21
11:26
"в таблицу попадает уже не тот договор" - про какую таблицу речь?

Документ типовой или дорабатывался?
2 ДенисЧ
 
18.08.21
11:27
В табличную часть заглядывал?
3 lodger
 
18.08.21
11:32
(0) тестирование и исправление.
4 lodger
 
18.08.21
11:32
(0) chdbfl.exe
5 lisichka64
 
18.08.21
11:33
Все таблицы для регистров, с которыми завязан документ (расчеты с поставщиками, например). Документ брался типовой и скрывались неиспользуемые элементы (максимально простые переделки), события на штатные изменения реквизитов в этом случае все дописаны. В табличной части документа все ок. Проблема появилась практически спонтанно (полгода работало исправно, никто не трогал документ, потом стала появляться без причинно-следственной связи)
6 ДенисЧ
 
18.08.21
11:36
(5) Ситуация повторябельна? Если да - отладчик что показывает?
7 lisichka64
 
18.08.21
11:39
(6) Да, рандомно (то нормально отработается, то косячно). В отладчике в момент заполнения таблиц в ссылке стоят правильные данные, после заполнения таблицы уже нет (Вот прям написано "взять из ссылки", но берет хз откуда)
8 ДенисЧ
 
18.08.21
11:40
"после заполнения таблицы" - это до Записать() или после?
А вообще - скорее всего база битая. ТИИ и chdbfl на копии в первую очередь.
9 ДенисЧ
 
18.08.21
11:41
Точнее наоборот. Сначала chdbfl, потом ТИИ
10 lodger
 
18.08.21
11:41
(7)
"Вот прям написано "взять из ссылки"" - это тоже потенциальная дыра.
из ссылки чего вы ковыряете данные?

в Объект.Реквизит лежит Значение1.
а если ковырять ссылка.Реквизит.Реквизит, то вытащит из сервера Значение2 у которого реквизит СубЗначение2.

то есть рассинхрон версий. вы читаете прошлую версию объекта из базы.
11 VladZ
 
18.08.21
11:45
Вот прям написано "взять из ссылки" - что это значит?
12 ДенисЧ
 
18.08.21
11:46
(10) (11) Як малы диты...
дв = Регистр.ДобавитьПриход();
дв.Контрагент = Контрагент;
регистр.Записать();

Вот вам из ссылки, не надо сову на Оккама натягивать.
13 lisichka64
 
18.08.21
11:48
(8) (11) в обработке проведения, в момент подготовки таблиц для регистров (в штатных процедурах, они не менялись)
14 lisichka64
 
18.08.21
12:05
Есть еще такое предположение, что когда делаю локальную копию, как раз индексы тоже обновляются и поэтому в локальной отловить не получается. Может попробовать и рабочую выгрузить/загрузить? или это аналог ТИИ?
15 vova1122
 
18.08.21
12:08
Какую хоть версию 1С обсуждаем?
16 ДенисЧ
 
18.08.21
12:08
(14) Переиндексация - это часть ТИИ.
17 ДенисЧ
 
18.08.21
12:08
(15) "контрагент (и партнер)"
Наверное, 6.0 ? Не?
18 vova1122
 
18.08.21
12:10
(17) я не вкурсе какие реквизиты есть в разных типовых...
19 lisichka64
 
18.08.21
12:11
(15) 8.3 УТ
20 vova1122
 
18.08.21
12:13
(19) тогда универсальный совет: сначала почистить КЕШ
21 ДенисЧ
 
18.08.21
12:14
(18) Ну, партнёра в УТ10 не было точно. В ТиС 9 тоже...
22 lisichka64
 
18.08.21
12:27
(20) С азов начинали ))))) не помогло, тоже склоняюсь к индексам...
23 lisichka64
 
18.08.21
12:29
(21) Какая прелесть....а тут и партнер, и контрагент и делай с ними что хочешь, синхронизируй тоже как хочешь...так то проблема в договоре, не от того контрагента он цепляется. Попробуем индексацию провести
Программист всегда исправляет последнюю ошибку.