Доброго времени суток, такая проблема:

Есть документ изменяющий реквизиты справочника с регистрацией в регистре сведений

      в форму подтягиваются данные из справочника
      так же в форму вводятся новые данные реквизитов
Документ сохраняется, проводится новые данные записываются в справочник и регистр сведений, тут все работает хорошо

а вот если создать сразу еще один документ на изменение той же позиции справочника в него подтянутся устаревшие данные которые были до изменений первым документом. При этом данные в справочнике изменились согласно первому документу

Если перезапустить базу этого глюка нет, как будто при открытии второго документа данные подтягиваются не из справочника а из кеша или чего то подобного.

Вопрос как сделать так что бы при открытии второго документа данные подтягивались те что в справочнике, а не устаревшие
---
В общем проблему я решил, точнее реализовал по другому: функцию "НайтиПоРеквизиту" заменил запросом на выборку.
Всем спасибо!
---
Скорее проблема в процедуре "подтягивания". Что-то она не то "подтягивает". Или не в тот момент.
---
"подтягивание" идет по нажатию кнопки в форме, или "ПриИзменении" поля ввода в этой же форме, функцией "Справочники.Номенклатура.НайтиПоРеквизиту"
---
А можно чуть больше кода? Ничего не понятно.
---
на форме вводится ИнвНомер в поле ввода "Объект.ИнвНомер" после нажатия кнопки запускается процедура: "Поиск"

```1c
    &НаКлиенте
    Процедура Поиск(Команда)
    Объект.ТМЦ = СервернаяСреда.ИнвН_Проверка(Объект.ИнвНомер);
    КонецПроцедуры
```

Объект.ТМЦ это реквизит типа СправочникСсылка.Номенклатура

СервернаяСреда.ИнвН_Проверка ищет в справочнике запись по реквизиту:

```1c
    Функция ИнвН_Проверка (ИнвН) Экспорт

    ПИН= Справочники.Номенклатура.НайтиПоРеквизиту("ИнвНомер",ИнвН);

    Если ПИН= Справочники.Номенклатура.ПустаяСсылка() тогда ПИН=NULL
    КонецЕсли;
    Возврат ПИН;
```

дальше в форму выводятся данные: с реквизита объекта (просто перетянул мышкой нужные реквизиты на форму в конструкторе)

Объект.ТМЦ.Наименование
Объект.ТМЦ.Сотрудник
....
---
попробую еще объяснить в картинках:
1 картинка
Красным выделено старое название
1) создаем новое название
сохраняем и проводим документ
2) данные внесены в справочник что видим в изменившимся списке
Закрываем документ

2 картинка
открываем новый документ
3) находим туже запись в справочнике
4) видим что изменение в прошлом документе отработали нормально
5) НО данные которые подтягиваются остались старыми
---
я думаю, что где-то в алгоритмах ошибка, но понять по приведенным отрывкам это невозможно. Что-то не туда записывается, или не оттуда читается, или читается не то, что должно читаться (например, дублируются элементы справочника с тем же реквизитом), или еще что. Кэши и прочие фокусы платформы вряд ли имеют здесь значение. А вот качество кода, как видно, не самое выдающееся.
ИнвН_Проверка() - это функция, которая находит элемент справочника! Почем же она ИнвН_Проверка, а не НайтиЭлементПоИнвентарномуНомеру()? ПИН - это ссылка на номенклатуру. Почему ПИН?? Если там все так написано, то неудивительно, что ошибку так сразу не разглядишь...
---
тут тяжело спорить, код в читаемый вид приведу
ИнвН_Проверка, так называется т.к это функция в основном используется для проверки на уникальность ИнвН в справочнике
ПИН переменная внутри этой функции сокращение от ПроверкаИнвНомера

ps согласен что отмазка слабая
---
В общем проблему я решил, точнее реализовал по другому: функцию "НайтиПоРеквизиту" заменил запросом на выборку.
Всем спасибо!