Можно Ли В Журнале Регистрации Искать По Ссылке На Объект

  • Автор темы Истребитель
  • Дата начала
И

Истребитель

#1
Добрый день!

Ситуация - в 1С (8.1 серверная конф УТ 10.3) внезапно обнаруживаем в остатках на складе минуса, документ партии - "объект не найден". У пользователей права на оперативное удаление нет. Документы которые могли приходовать партию в ближайшее время вообще не удаляли, документы, хоть раз проведенные в базе, относящиеся к поступлению товаров, говорят, не удаляли вообще никогда.

Вопрос - можно ли как-то фильтровать информацию в Журнале регистрации по ссылке на объект?

ЗЫ: Что вообще делать в таком случае? Как выяснить причину пропажи данных из базы?
 

puh14

Well-known member
11.07.2008
1 412
0
#2
так там вроде есть текстовые поля, в которых текстом прдублировано представление документа. Вывести весь журнал по окументам поступление, ввод нач. остатков, комплектация, инвентаризация и отобрать по названию/представлению не найден и операция удалить. Долго - зато работает

http://www.forum.mista.ru/topic.php?id=444697 - тут еще может помочь
 
И

Истребитель

#3
Именно, что текстовое представление. Вида "Поступление товаров и услуг 000000....".
А у меня только ГУИД остался... Я не знаю, как назывался документ пропавший.
 
И

Истребитель

#4
Выяснил.

Чтобы искать по ГУИД, нужно выгрузить журнал (открыть журнал, сохранить копию, любой из форматов). В выгруженном файле появится ГУИД около строковых представлений - и можно искать уже по гуиду.

А хорошее руководство что делать есть тут http://help1c.com/faq/view/483.html

(однако мне это всё равно не помогло ибо мой гуид в журнале вообще не встречается. вот так вот...)
 

Darlock

Well-known member
04.01.2008
560
1
#5
Я не очень хорошо помню код типовой УТ, но то что в ЗиУПе есть пара мест, когда в регистр пишется для того, чтоб полученные цифры использовать дальше в расчетах при проведении - факт. Так вот к чему я, посмотрите коды обработок проведения документов, которые являются регистратрами у регистров с "битой" ссылкой. Возможно, встретите фрагменты прямой записи в регистр (применение метода "ПолучитьссылкуНового()"). В вашем случае имел место быть сбой при проведении и запись не была удалена из регистра. Потому как даже при использовании РБД, журнал регистрации фиксирует удаление из узла.
 
И

Истребитель

#7
База не распределенная.
ПолучитьссылкуНового не используется нигде кроме одной функции:

C++:
Процедура ПередЗаписьюНовогоОбъектаСПравамиДоступаПользователей(ЭтотОбъект, Отказ, Родитель, СсылкаНового = Неопределено) Экспорт

Если ЭтотОбъект.ЭтоНовый() Тогда

СсылкаНового = ЭтотОбъект.ПолучитьСсылкуНового();
Если НЕ ЗначениеЗаполнено(СсылкаНового) Тогда
СсылкаНового = Справочники[ЭтотОбъект.Метаданные().Имя].ПолучитьСсылку();
КонецЕсли;

ПолныеПрава.ЗарегистрироватьПраваДоступаПользователяКОбъекту(СсылкаНового, Родитель, Отказ);

Если НЕ Отказ И НЕ ЗначениеЗаполнено(ЭтотОбъект.ПолучитьСсылкуНового()) Тогда
ЭтотОбъект.УстановитьСсылкуНового(СсылкаНового);
КонецЕсли; 	

КонецЕсли;

КонецПроцедуры
 

Darlock

Well-known member
04.01.2008
560
1
#8
А строк записи в регистр напрямую не в обработке проведения есть?
 
И

Истребитель

#9
Хмм... как это можно узнать? Что конкретно следует искать?