Имя: Пароль:
1C
 
Появление битых ссылок в базе!
0 mzelensky
 
13.09.10
16:28
Доброго времени суток всем!
В базе (конфа УТ) регулярно появляются биты ссылки! Причем если эти ссылки появляются в регистрах, то болячку еще как-то можно вылечить путем перепроведения регистратора. Но иногда эти ссылки появляются в документа "корректировка долга" и "детализация оплат сетевых контрагентов" (один док строится на основании другого)...при этом битая ссылка повяляется в табличной части документа в графе, где должна быть указана реализация... выявить в последующем нужную  реализацию ну никак не получается...и выходит что контрагент есть...сумму какая-то висит, а привязки к реализации НЕТ...и лезут косяки!!!

Почему появляются эти биты ссылки я не пойму ,потому как удаление документов не производится, а тем более интерактивное удаление (без проверки целостности). Подскажите в чем может быть кося?
1 le_
 
13.09.10
16:31
Либо документы все-таки удаляются, (ибо в этом деле чудес не бывает),
либо, в ролях настроены РЛСы и там, где показываются битые ссылки на самом деле не битые ссылки, а просто к этим документам у пользователя нет доступа.
2 H A D G E H O G s
 
13.09.10
16:32
Либо обмен.
3 H A D G E H O G s
 
13.09.10
16:35
Либо Гений 1С писал конфу.
http://dff.sytes.net/2844?0
4 H A D G E H O G s
 
13.09.10
16:35
Пост 94, который, собственно, он не опроверг.
5 mzelensky
 
13.09.10
16:37
Документы НЕ УДАЛЯЮТСЯ...я единственный кто может удалять интерактивно, другим пользователям это запрещено!!!Уже проверял несколько раз!
"в ролях настроены РЛСы и там, где показываются битые ссылки на самом деле не битые ссылки, а просто к этим документам у пользователя нет доступа" - ничего подобного тоже нет, так как для данных документов у пользователя есть все нужные права...да и даже если я потом захожу в эти доки (под полными правами) ссылки битые присутствуют!
6 mzelensky
 
13.09.10
16:39
(4) данные механизмы вроде не трогали :( ...
7 mzelensky
 
13.09.10
16:40
просто я даже проверить не могу откуда эта ссылка битая берется...сперва тоже думал что можек как-то док удалили...поднимал резервные копии базы, искал по ссылке - нифига!
8 Buster007
 
13.09.10
16:41
у тебя не распределенная информационная база?
9 H A D G E H O G s
 
13.09.10
16:42
Глобально поищи
ПолучитьСсылкуНового(
ПолучитьСсылку(

и проанализируй, когда они встречаются.
10 hhhh
 
13.09.10
16:42
(7) в журнале регистрации посмотри эту битую ссылку.
11 mzelensky
 
13.09.10
16:44
(8) нет!

(9) пробовал, получал ссылку...пытался найти по ней документ - нет такого! искал в резервных копиях за несколькл месяцев - НЕТ!
12 mzelensky
 
13.09.10
16:48
(10) а как там ее найти? у меня стоит обработка "регистрация изменений" - с помощью ее ничего найти не удалось!
13 H A D G E H O G s
 
13.09.10
16:50
(11) Не то! Может быть такой алгоритм:

Процедура ПередЗаписью(Отказ)

Приход.ДокументОснование=ЭтотОбъект.ПолучитьСсылкуНового();

Приход.Записать();

Отказ=Истина;
КонецПроцедуры


Ну и варианты...
14 mzelensky
 
13.09.10
17:07
(13) а как можно ЗАПИСАТЬ ТО, что НЕЛЬЗЯ ПОЛУЧИТЬ???
Я просто не пойму смысл

"
Приход.ДокументОснование=ЭтотОбъект.ПолучитьСсылкуНового();
Приход.Записать();
"

ведь так я просто присвою ссылку нового документа?!
15 H A D G E H O G s
 
13.09.10
17:19
(14) До этого, ссылка на новый ЭтотОбъект может быть уже назначена, например:

ЭтотОбъект.УстановитьСсылкуНового(Документы.ЗаказПокупателя.ПолучитьСсылку(Новый УникальныйИдентификатор()));
16 mzelensky
 
13.09.10
17:29
(14) ну я что-то типа такого пробовал...положительных результатов не принесло!
17 Mitriy
 
13.09.10
17:37
(16) а у тебя точно не стоит разрешение на Интерактивное удаление этих документов для какой-нибудь роли?
18 Mitriy
 
13.09.10
17:39
(17)+ прочитал (5)... может, ты сам и удаляешь иногда? ну, типа быстрее так? либо обработку какую периодически запускаешь, которая это делает....
19 mzelensky
 
16.09.10
10:08
(18) я сперва тоже так подумал и поэтому не делал определенный период НИКАКИХ УДАЛЕНИЙ...а битые ссылки все-равно появляются!!!
20 mzelensky
 
16.09.10
10:12
И еще одна фишка есть!!! Скажем создается реализация, указывается 2 позиции в ТЧ "Товары"...при проведении КАК-ТО в регистр "продажи" попадает не 2 записи, а 4...2 нормальные и 2 точно такие же, но с битой ссылкой в поле "документ заказа" (к примеру).... получается что списание происходит криво и порой из-за этого вылазиют ОЧЕНЬ большие косяки!!! Но если просто перепровести этот документ (ничего не меняя), то движения сформируются правильно!

Вот из-за чего это? Я уже что ток не делал, пытаясь воспроизвести специально такую ситуацию - у меня не получилось...но подобные косяки всплывают периодически...подскажите на что грешить?
21 dmpl
 
16.09.10
10:15
(20) Для начала выяснить, с какого компьютера такое происходит. Может, там установка платформы 1С битая.
22 mzelensky
 
16.09.10
10:19
(21) от компа не зависит....от пользователя тоже... уже проверял! Причем смотрю по журналу изменений (дополнительная обработка у меня стоит) - пишет, что эти реализации создавались и проводились "за раз", без всяких там изменений, переносов и т.д. ...человек набил, провел сразу и все (ну вроде как...разумеется на 100% утверждать не могу)
23 mzelensky
 
16.09.10
10:20
+(21) платформа битой быть не может так как все работают в терминалах, обращаясь к серверу!
24 dmpl
 
16.09.10
10:24
(22) А ошибок ожидания блокировки транзакций не происходит в этот момент?
25 mzelensky
 
16.09.10
10:27
(22) ну именно ОШИБОК никаких не вылазиет!

Замечен ньюанс!
Опять таки по примеру в (2) про 2 позиции и 4 строки в регистре...
так вот первые 2 записи в регистре (которые кривые) записаны с ПЕРИОДОМ в 12.10.30, а последующие 2 записи (нормальные) полностью идентичны предыдущим, но период выставлен в 12.11.10.

Т.е. различаются периоды записи, а следовательно и ДАТЫ В ДОКУМЕНТЕ!!! Как такое может быть, если документ проводился 1 раз?
26 mzelensky
 
16.09.10
10:27
(25) + сори - пример в (20)
27 mzelensky
 
16.09.10
10:33
может кто-нибудь этот полтергейст объяснить?
28 Defender77
 
16.09.10
10:35
А эти ссылки не при проведении (или в подписках дока) заполняются?
Есть такая фишка: если в при проведении/подписке создается новый документ и документ в котором он создавался отменилось проведение, то транзакция откатывается и в память о ней остается битая ссылка.
29 DUDE
 
16.09.10
10:36
(25) Дата записи в регистре может быть не привязана к дате документа.
30 mzelensky
 
16.09.10
10:42
(28) (29) да вроде общий механизм проведения реализаций не изменялся (Конфа УТ 10.3.1.17)...тем более я же пробую создавать всевозможными способами эти реализации, проводить, снимать с проведения, перезаписываю, копирую...у меня все нормально происходит, а вот в клиентском сервисе (у операторов), уж не знаю что они там делают и как, но по паре таких реализаций в день вылазиет!
31 Defender77
 
16.09.10
10:48
(30) Ну тогда к операторам идти и над душой стоять и смотреть что и как делают. Для локализации можно посмотреть у одного оператора такое вылазит или у всех. И смотреть в сторону нестандартных грудей/ногтей/чтонибудь еще
32 dmpl
 
16.09.10
10:50
(25) Ну тогда может быть так, что создан новый объект, ни разу не записан, первое проведение не удалось в самом конце (когда уже движения добавлены), второе/третье - удалось. В типовой УПП будут дублирующиеся движения. Обычно это бывает как раз при ошибке ожидания блокировки транзакции при записи движений. Потому как в обработке проведения движения регистратора удаляются только если мУдалятьДвижения = Истина. А типично мУдалятьДвижения = НЕ ЭтоНовый(). Естественно, что если сразу проводить, и в самом конце это сделать не получится - то движение так и останется. Запись не удалась, и объект как был новым - так и остался.

Можно для проверки вставить Отказ = НЕ ОтражатьВНалоговомУчете, несколько раз попробовать провести новый документ без галочки НУ - а потом ее поставить и провести. Вуаля - сколько раз тыкался - столько дублей движений и будет.
33 dmpl
 
16.09.10
10:52
(32) Точнее наоборот - с галочкой НУ проводить несколько раз, а потом снять.
34 dmpl
 
16.09.10
10:53
Вообще, скажи операторам, чтобы жали не просто ОК, а Записать - ОК. Если ошибка пропадет - значит оно и есть.
35 mzelensky
 
16.09.10
10:54
(32) (34) интересная идея - попробую!!!
36 mzelensky
 
16.09.10
10:59
(35) тогда это как раз объясняет почему периоды разные в записях и различаются всего в несколько секунд
37 mzelensky
 
16.09.10
11:03
в таком случае, если условие

Если мУдалятьДвижения Тогда
   ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ);
КонецЕсли;

вообще убрать и оставить только

ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ);

Т.е. производить очистку в ЛЮБОМ СЛУЧАЕ...по идее при отсутствии движений (если документ НОВЫЙ), то ошибок не должно быть, да и тормозов тоже!
38 mzelensky
 
16.09.10
11:13
аппп
39 dmpl
 
16.09.10
11:24
(37) Я не разбирался, зачем именно они эту проверку ввели - может и нужна для чего. К тому же, у них такое повсеместно, и если везде исправить - то потом обновлять конфигурацию замучаешься...
40 mzelensky
 
16.09.10
11:37
(39) на счет обновления можно не париться...конфа уже ТАК СИЛЬНО ИЗМЕНЕНА, что ни о каком обновлении и речи нет
41 mzelensky
 
16.09.10
11:50
апрапр
42 mzelensky
 
16.09.10
12:03
апппа-па
43 mzelensky
 
16.09.10
13:34
подъем!
44 mzelensky
 
16.09.10
16:07
ghf-gf-gf
Закон Брукера: Даже маленькая практика стоит большой теории.