Список документов в 1С не показывает новые данные: четыре способа обновить его

· 9 мин

Содержание

Чтобы обновить список документов в 1С 8.3, нажмите Ctrl+Shift+R или выберите в командной панели списка Ещё → Обновить. Список заново прочитает данные из базы и покажет документы, которые за это время создали коллеги, обмен или загрузка выписки.

Механизм общий для платформы 8.3, поэтому способ работает одинаково в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на интерфейсе «Такси». Если после обновления нужного документа всё равно нет, дело уже не в обновлении, а в отборе, правах или самой базе. Для каждого случая есть своя проверка, и начинать стоит с самой простой.

Почему список документов в 1С не обновляется сам

Форма списка в 8.3 построена на динамическом списке. Он не держит все документы в памяти, а читает из базы порцию строк, которые видны на экране, и подчитывает следующую при прокрутке. Сам по себе он не следит за чужими изменениями.

Отсюда типичные ситуации, когда список «отстаёт»:

  • 👥 Документ создал другой пользователь. Ваш открытый список о нём не знает, пока вы его не обновите.
  • 🔄 Документы пришли обменом. Синхронизация с банком, ЭДО, другой базой пишет данные на сервере, и открытые формы не получают сигнала.
  • ⚙️ Документы созданы обработкой. Групповое перепроведение, загрузка из Excel , внешняя обработка записывают объекты без формы, поэтому список не оповещается.
  • 📅 Отбор или период скрывают документ. Список обновился, но новый документ датирован вне выбранного периода или оформлен на другую организацию.
  • 🔒 Ограничение прав. При настроенном ограничении доступа на уровне записей пользователь просто не видит часть документов.

Свои документы список обычно подхватывает сам: типовая форма документа после записи отправляет оповещение, и открытый список перечитывается. Если этого не происходит — значит, запись прошла не через форму.

Способ 1. Обновить список документов вручную

Это базовый метод. Его хватает, когда документ просто появился позже, чем вы открыли форму.

Через командную панель

  1. Откройте нужный список, например Продажи → Реализация (акты, накладные, УПД) или Банк и касса → Банковские выписки в Бухгалтерии 3.0.
  2. В командной панели над таблицей нажмите Ещё.
  3. Выберите команду Обновить.

Курсор остаётся на текущей строке, отборы и сортировка сохраняются.

Горячими клавишами

ДействиеКлавиши
Обновить списокCtrl+Shift+R
Перейти в начало спискаCtrl+Home
Перейти в конец спискаCtrl+End

Новые документы в списке, отсортированном по дате, оказываются внизу. После обновления нажмите Ctrl+End, чтобы сразу их увидеть.

Через повторное открытие формы

Закройте вкладку списка и откройте её заново из раздела. Форма прочитает данные с нуля. Метод грубый, но помогает, если команда обновления по какой-то причине недоступна в изменённой форме.

Формы выбора, журналы и отчёты

Форма выбора — список, который открывается кнопкой выбора в поле документа, например при выборе основания. Она тоже построена на динамическом списке и обновляется той же командой Ctrl+Shift+R. Это удобно, когда коллега только что создал счёт, а вы выбираете его в реализации.

Журналы документов обновляются так же, как обычные списки.

С отчётами иначе. Отчёт — это снимок данных на момент формирования, и команды обновления у него нет. Чтобы увидеть новые документы в оборотно-сальдовой ведомости или карточке счёта, нажмите Сформировать ещё раз. Частая путаница: документ уже в списке, а в отчёте его нет — отчёт просто сформирован раньше.

В веб-клиенте не жмите F5 в браузере. Браузер перезагрузит всё приложение, и несохранённые документы в других вкладках 1С пропадут.

Способ 2. Список документов через «Все функции»

Этот способ нужен, когда в разделе нет нужного списка или типовая форма перегружена отборами и вы хотите увидеть документы «как есть».

Как включить меню «Все функции»

  1. Нажмите на значок главного меню в левом верхнем углу окна (три полоски).
  2. Откройте Сервис и настройки → Параметры.
  3. Поставьте флажок Отображать команду "Все функции" и нажмите Применить.

После этого пункт Все функции появится в главном меню.

Как открыть и обновить список

  1. В главном меню выберите Все функции.
  2. Раскройте ветку Документы и дважды щёлкните нужный вид документа.
  3. В открывшемся списке нажмите Ctrl+Shift+R.

Форма открывается основная — та, что назначена документу в конфигурации. Но настройки отбора у неё свои, поэтому документ, «пропавший» из раздела из-за сохранённого фильтра, здесь обычно виден. Это быстрая проверка: если документ есть во «Всех функциях», а в разделе нет — ищите отбор в форме раздела.

Для смешанного просмотра используйте ветку Журналы документов: журнал показывает документы нескольких видов в одном списке, например все кассовые или все банковские.

Способ 3. Программное обновление списка документов

Раздел для разработчиков, которые дописывают формы или обработки. Изменения типовых форм вносите через расширение конфигурации , а не правкой основной конфигурации.

Обновить таблицу формы

Команда формы списка на клиенте:

&НаКлиенте
Процедура ОбновитьСписокДокументов(Команда)
    Элементы.Список.Обновить();
КонецПроцедуры

Список — имя элемента таблицы формы, у вас оно может быть другим.

Сообщить всем открытым спискам об изменении

Если документы созданы серверной процедурой, после её вызова оповестите клиентские формы. Тогда перечитаются все открытые списки этого вида документа:

&НаКлиенте
Процедура ЗагрузитьДокументы(Команда)
    ЗагрузитьДокументыНаСервере();
    ОповеститьОбИзменении(Тип("ДокументСсылка.ПоступлениеТоваровУслуг"));
КонецПроцедуры

Для одного конкретного документа передайте ссылку на него: ОповеститьОбИзменении(Ссылка).

Своё событие и обработка оповещения

Когда нужно обновить список по сигналу из другой формы, используйте пару Оповестить и ОбработкаОповещения. В форме-источнике:

Оповестить("ЗагрузкаВыпискиЗавершена");

В форме списка:

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    Если ИмяСобытия = "ЗагрузкаВыпискиЗавершена" Тогда
        Элементы.Список.Обновить();
    КонецЕсли;
КонецПроцедуры

Параметры и отборы списка

Если форма меняет параметр запроса динамического списка, вызывать Обновить() отдельно не нужно. Установка параметра сама перечитывает данные:

&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
    Список.Параметры.УстановитьЗначениеПараметра("Организация", Организация);
КонецПроцедуры

То же с отбором: изменение элемента отбора компоновки сразу перестраивает список. В типовых конфигурациях на БСП для этого есть готовые процедуры в общем модуле ОбщегоНазначенияКлиентСервер — найдите их по слову «Отбор» в имени, чтобы не собирать элемент отбора вручную.

Оповещения работают только на клиенте и только в рамках сеанса текущего пользователя. Список у коллеги так не обновить — для этого нужно автообновление (см. ниже).

Способ 4. Конфигуратор: когда список не обновляется из-за базы

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

Очистить кэш клиента

  1. В окне запуска выберите базу и нажмите Изменить.
  2. Пройдите до последнего шага мастера, в поле Дополнительные параметры запуска впишите /ClearCache.
  3. Нажмите Готово и запустите базу.

Кэш помогает, когда после обновления конфигурации в списке не видно новых колонок или команд. После проверки параметр можно убрать.

Обновить конфигурацию базы данных

Если разработчик добавил вид документа или реквизит, а пользователи его не видят, проверьте, применены ли изменения к базе. В конфигураторе выберите Конфигурация → Обновить конфигурацию базы данных (F7). Для изменений, затрагивающих структуру таблиц, нужен монопольный доступ.

Тестирование и исправление

Когда список показывает ошибку при прокрутке или «теряет» строки, запустите Администрирование → Тестирование и исправление в конфигураторе.

  • 🧱 Реиндексация таблиц информационной базы — восстанавливает индексы, по которым список ищет и сортирует строки.
  • 🔗 Проверка логической целостности — находит битые ссылки.
  • 📦 Сжатие таблиц — актуально для файловой базы, где документов много.

Перед тестированием сделайте резервную копию базы : выгрузку .dt или копию каталога файловой базы. Режим требует монопольного доступа, поэтому все пользователи должны выйти. Планируйте его на нерабочее время: принудительное завершение сеансов оборвёт несохранённую работу.

Ошибки при обновлении списка документов

Сначала определите симптом, затем действуйте.

Диагностика: выберите симптом

Если пользователь сам настроил колонки и отборы, Установить стандартные настройки сбросит их. Сохраните важные отборы заранее.

Если ничего не помогло

Найдите документ напрямую, минуя форму списка. Если знаете номер, воспользуйтесь поиском в шапке программы: введите номер или контрагента. Документ нашёлся — значит, он в базе есть, а проблема в настройках конкретного списка. Не нашёлся — возможно, документ так и не был записан: уточните у автора, сохранял ли он его, или проверьте журнал регистрации за нужный день (Администрирование → Обслуживание, отбор по пользователю и событию записи данных).

Автоматическое обновление списка: автообновление и фоновые задания

Здесь два разных механизма, и их часто путают.

Автообновление таблицы формы

У таблицы формы, связанной с динамическим списком, есть свойства Автообновление и Период автообновления (в секундах). Включаются в конфигураторе, в палитре свойств элемента таблицы. Список будет сам перечитывать данные с заданным интервалом.

Когда это оправдано:

  • 🏦 операционист кассы ждёт поступлений из обмена;
  • 📦 кладовщик видит новые заказы на отгрузку;
  • 📨 сотрудник следит за входящими документами ЭДО.

Не ставьте короткий период на тяжёлые списки, которые открыты у десятков пользователей одновременно. Каждое обновление — запрос к серверу. Для большинства задач хватает интервала в одну–две минуты.

Альтернатива в коде — обработчик ожидания:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ПодключитьОбработчикОжидания("ОбновитьСписокПоТаймеру", 120);
КонецПроцедуры

&НаКлиенте
Процедура ОбновитьСписокПоТаймеру()
    Элементы.Список.Обновить();
КонецПроцедуры

Фоновые и регламентные задания

Регламентные задания не обновляют формы. Они создают или изменяют документы на сервере: загружают выписки, принимают документы ЭДО, выполняют обмен. Чтобы документы попадали в базу по расписанию, настройте нужное задание в разделе Администрирование → Обслуживание, в группе регламентных операций.

А чтобы пользователь увидел результат, нужно либо автообновление формы, либо ручное Ctrl+Shift+R. В файловой базе регламентные задания выполняются только при запущенном сеансе клиента; в клиент-серверной их выполняет сервер.

Как ускорить список документов в большой базе

Когда в журнале сотни тысяч документов, каждое обновление начинает занимать секунды. Что помогает:

МераКто делаетЭффект
Сузить период в шапке спискапользовательсписок читает меньше строк
Убрать сортировку по редкой колонкепользовательзапрос использует индекс по дате
Отбор по организации вместо поиска по всем полямпользовательменьше нагрузки на сервер
Признак Индексировать у реквизита, по которому часто ищутразработчикбыстрый отбор
Не включать Произвольный запрос, если хватает основной таблицыразработчикплатформа строит оптимальный запрос
Оставить Динамическое считывание данных включённымразработчиксписок читает порциями, а не всё сразу
Реиндексация и сжатие таблицадминистраторвосстанавливает скорость файловой базы

Отдельно о поиске в строке над списком. Полнотекстовый поиск по всем колонкам большого списка — самая тяжёлая операция. Для частых задач надёжнее отбор по конкретной колонке: правой кнопкой по значению в ячейке и команда установки отбора по этому значению.

Частые вопросы

Почему кнопки «Обновить» нет на панели?
В типовых формах она спрятана в меню Ещё. Через Ещё → Изменить форму можно вынести её на панель, а горячая клавиша Ctrl+Shift+R работает в любом случае.
Сохраняются ли отборы после обновления?
Да. Обновление перечитывает данные, но не трогает период, отборы, сортировку и ширину колонок.
Обновится ли список у коллеги, если я провёл документ?
Нет. Оповещение работает только внутри вашего сеанса. Коллеге нужно обновить список самому или включить автообновление в форме.
Почему после групповой обработки статусы в списке старые?
Обработка записала документы на сервере без оповещения формы. Нажмите Ctrl+Shift+R — статусы и признак проведения обновятся.
Можно ли обновить сразу все открытые списки?
Штатной команды для этого нет. Разработчик может вызвать ОповеститьОбИзменении по нужному типу документа — тогда перечитаются все открытые списки этого вида в сеансе.