• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

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

Истребитель

Добрый день!

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

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

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

puh14

так там вроде есть текстовые поля, в которых текстом прдублировано представление документа. Вывести весь журнал по окументам поступление, ввод нач. остатков, комплектация, инвентаризация и отобрать по названию/представлению не найден и операция удалить. Долго - зато работает

- тут еще может помочь
 
И

Истребитель

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

Истребитель

Выяснил.

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

А хорошее руководство что делать есть тут

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

Darlock

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

Allexei

А скажите ка, база распределенная или нет?
 
И

Истребитель

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

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

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

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

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

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

КонецЕсли;

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

Darlock

А строк записи в регистр напрямую не в обработке проведения есть?
 
И

Истребитель

Хмм... как это можно узнать? Что конкретно следует искать?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!