Периодически возникающая ошибка "Объект не найден" в Заказе Внутреннем

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Периодически возникающая ошибка "Объект не найден" в Заказе Внутреннем
 
Добрый день!
Платформа 8.1.15.14 - и на сервере и на клиенте (клиент-сервер Linux+PostgreSQL)
Конфа АА 4.1.02.01 укр.(Аби) с частичными дополнениями из 17-19 рос.релиза.

Вот уже несколько месяцев возникает ошибка "Объект не найден" в Заказе внутреннем - повторить пока что не получается. Сегодня наступило время Ч решить проблему.
Суть в следующем:
Делается заказ внутренний

Через некоторое время/или сразу(точно отловить это момент пока не получалось) я замечаю, что в движениях есть ошибка:

Восстановление последовательностей не помогает. Делаю из конфигуратора Восстановление и Тестирование БД - создается новый документ Заказ Внутренний по этой пропавшей ссылке (№ F000000001).

Запускаю предприятие, устанавливаю зак.внутр. F000000001 все реквизиты и провожу его. теперь в движениях "подпорченного" заказа внутреннего вижу следующую картину.

убрать из движений вновь созданный документ F000000001 получается только перепроведением "подпорченного" заказа внутреннего - после этого из него убирается ссылка на F000000001, и последующим удалением F000000001.

Последствия убираю и вроде все красиво. Но пока есть ошибка в заказе внутреннем -  в течении дня по позициям в данном заказе неправильно отображаются остатки.

Подскажите, пожалуйста, в чем может быть проблема, или как её локализовать?
 
Проблема скорее всего очень простая: кто-то просто-напросто грубо удаляет заказы.
 
А повторить ее очень просто: заходим в движения любого документа, видим что-нибудь, ссылку на какой-нибудь документ и универсальной обработкой  его удаляем. Опять заходим в движения документа и видим "Объект не найден"
 
Сергей Большаков,
А если допустить, что заказы грубо не удаляются (на уровне прав запрещено такое делать - только пометка на удаление, а уж универсальную обработку убрал куда подальше с глаз от менеджеров), может ли как-то к такому привести отмена проведения, перепроведение...?
 
Возможны 3 варианта.
1. Все таки непосредственным удалением ктото удалил заказ покупателя. Через пометку такого бы не произошло, т.к. контроль ссылочной целостности не пропустил бы такое.
2. Сбой базы данных (выключение света, проблемы с локальной сетью ...).
3. Распределенная ИБ. Документ заказа покупателя еще небыл загружен из другого узла.
 
1. Возможно. Однако было пару дней, когда достаточно жестко обсуждался момент удаления документов пользователем с админ-правами - точно знаю, что в эти дни напрямую никто не удалял, но ошибка была. Так что это можно отмести в данном конкретном случае.
2. Скачки света бывают, стоят упсники. Может быть сбой Л.С. - но тогда бы были бы проблемы с icq, самой 1С, да и просто в других документах - но такого не наблюдается - только в заказе внутреннем. Так что этот пункт тоже отметаю.
3. БД не распределенная. Клиент-сервер в одной гигабитной сетке. на Одном свиче. и пользователей 8шт всего, а база <60МБ(в dt-файле). МОжно сказать, что тоже данный вариант отметается.

Надо уточнить, что когда создается документ Зак.Внутренний у него, по-умолчанию, устанавливается склад "ЗК", а потом уже могут поменять на "12".
Поэтому, у меня начали закрадываться подозрения относительно того, что Заказ внутренний проводят с одним складом, потом делают изменения и перепроводят с другим складом...
На рисунках склад  = "перенести с".
Как видно в документе-"объект не найден" указывается склад "ЗК", хотя в самом документе ЗаказВнутренний склад установлен "12". Также на эту мысль наталкивает то, что появляются ссылки битые на заказ с указанием реального товара, который имеется в ТЧ Товары и корректно проведен. На картинке видно, что правильно по заказу 5шт жидкости АКП и в ссылке на битый заказ указывается тоже 5шт АКП...

Пробовал менять склады, проводить/отменять проведение/перепроводить - не могу получить битую ссылку.
Изменено: Александр Тугаенко - 19.04.2011 18:04:11 (уточнение)
 
Цитата
Александр Тугаенко пишет:
Пробовал менять склады, проводить/отменять проведение/перепроводить - не могу получить битую ссылку.
Получить битую ссылку такой методикой и не получится. Ссылка однозначно идентифицирует объект в базе. А в данном случае ссылка указывает на несуществующий объект.
Что касается на количество номенклатуры и пр. Данная битая ссылка присутствует во всех регистрах (где она может потенциально существовать) и она везде одинаковая. При проведении других документов обращения к самому битому документу и не осуществляется, а движения выполняются только на основании состояния регистров. Вот распределение и осуществляет движения по заказу, который указан в регистре заказов покупателей. А заказа то и нет (как документа).
Надо искать кто и как удалил заказ непосредственным удалением. Можно попробовать отловить этот момент по журналу регистрации.
 
я все равно пока что уверен, что ошибка возникает и тогда, когда документ не убивается непосредственно.  :|
-----------------------------------------------------------------------------------------------------------------
Хорошо, допустим, что документ убили, и я так понимаю это был Заказ внутренний.
Почему тогда, битая ссылка проявляется в движении Корректного существующего заказа внутреннего, а не в каком-то перемещении или заказе поставщику?
 
Внутренний заказ осуществляет распределение заказов согласно своей таблице распределения. На регистре заказов покупателей для убитого заказа покупателя все равно есть движения, вот они и распределяются (вне зависимости от того битая там ссылка на заказ или нет).
Если открыть регистр заказов покупателей то там так же будут битые ссылки.
То что нет битых ссылок в заказах поставщику и пр., то просто до данного заказа покупателя еще дело не дошло.
 
Насчет "ошибка возникает и тогда, когда документ не убивается непосредственно" вы правы. Можно создать такую "битую" ссылку и не убивая объект. Но для кроме создания этой битой ссылки необходимо же заменить реальные ссылки на нее? Это уже, думаю, выходит за рамки "вменяемого".
Поэтому вариант практически только один - кто-то удаляет документы. Может вам стоит попробовать интегрировать в альфу систему контроля изменения данных?
 
а у меня в базе всем запрещено удалять непосредственноо и все равно бывает Объект не найден. Причем снимаешь отчет Остатки и обороты заказов покупателей - объект не найден, открываешь Движение с остатками - там нормальный заказ, перепроводишь, всё встает на свои места.
 
Предполагаете, что где-то в конфигурации есть процедуры грубого удаления?
 
Чего предполагать, даже не знаю пока. Из работы людей и движения документов могу сказать, что заказ внутренний могут отменять проведение, проводить заново, перепроводить, менять склад, менять количество заказываемых деталей...

Да мне бы повторить ошибку на тестовой базе в моих условиях (ещё раз повторюсь, в нескольких случаях уверен на 101% что грубо не удаляли заказ внутренний и ошибка все равно была). Как только повторю - чего делать уже разберусь.  :D

Вчера такой проблемы не было, а бывают дни, когда по всем(или большему количеству) заказам внутренним, на основании которых делаются переносы между складами или заказы поставщикам вылезают битые ссылки.

По журналу непосредственного удаления в эти дни вроде  не замечено  :|
 
бывают такие кудесники... 99,97% проблема в том, что кто-то удаляет документы. Это не ошибка работы базы, это на 99,97% намеренное нарушение логической целостности базы. На тестовой базе вам никогда не удастся воспроизвести эту ситуацию так, как она у вас появляется в рабочей. Потому что в тестовой нет кудесников:)
Интегрируйте систему контроля изменений. И попробуйте поискать все битые ссылки специальной обработкой.
 
А может нет, не надо систему контроля изменений... Может попробовать сделать в конфигураторе в разделе "Подписки на события" подписку на событие ПередУдалением для источника ДокументОбъект? И где-нибудь (у нас например регистр сведений "УниверсальныйЛог" есть, работает как свалка) фиксируйте все удаления заказов.
 
Цитата
Сергей Большаков пишет:
А может нет, не надо систему контроля изменений... Может попробовать сделать в конфигураторе в разделе "Подписки на события" подписку на событие ПередУдалением для источника ДокументОбъект? И где-нибудь (у нас например регистр сведений "УниверсальныйЛог" есть, работает как свалка) фиксируйте все удаления заказов.

Наверно пока что так и сделаю и буду ждать следующей битой ссылки по Зак.Внутр.

Что ещё вспомнил, в течении рабочего дня могли делаться восстановления последовательности, понятное дело иногда возникали блокировки...  и невозможность сразу провести заказы, может это как-то могло спровоцировать проблему?
 
Сложно сказать... откуда-то берутся ведь эти битые ссылки. Как она может появиться в результате отказа проведения из-за блокировки - сложно представить.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С