После обновления типовой конфигурации 1С:Управление торговлей до релиза 11.5.21.99 многие пользователи сталкиваются с неприятной ситуацией: при открытии документа Заказ клиента табличная часть «Товары» оказывается абсолютно пустой. При этом, если проверить данные через «Консоль запросов» или отчеты, становится ясно, что строки в базе данных физически присутствуют. Ситуация осложняется тем, что даже отключение расширений не всегда помогает решить проблему, поэтому может потребоваться комплексный анализ конфигурации и расширений на наличие ошибок.
В этой статье мы подробно разберем алгоритм диагностики и устранения этой ошибки, проанализируем возможные причины — от сбоев в кэше до недоработок в коде нового релиза — и найдем способ вернуть данные на форму.
Релиз 11.5.21.99 является значимым обновлением, в котором меняются механизмы распределения выручки, себестоимости и логика работы со статусами заказов. Огромная часть изменений выполняется не в момент установки обновления, а в фоновом режиме. Если эти процедуры не завершены, форма документа может работать некорректно.
Проанализируем состояние обновления. Для этого перейдем в раздел НСИ и администрирование — Обслуживание — Результаты обновления программы. Также можно воспользоваться прямой ссылкой, введя ее в поле перехода:
e1cib/app/Обработка.РезультатыОбновленияПрограммы
Обратим внимание на следующие моменты:
Часто проблема кроется в «зависшем» кэше метаданных или индивидуальных настройках формы, которые вступили в конфликт с новым кодом релиза. Выясним, помогает ли очистка локальных данных.
Выполним следующие действия:
Заказ клиента нажмем кнопку Еще — Установить стандартные настройки. Это сбросит пользовательские фильтры и настройки видимости колонок./ClearCache в параметрах запуска.ПолныеПрава. Если данные появились, значит, проблема в изменившейся структуре прав доступа. В таких случаях полезно использовать расширение для управления видимостью и доступностью реквизитов или инструмент, обеспечивающий открытие доступа к скрытым реквизитам форм документов.В версии 11.5.21.99 были внесены изменения в логику работы функциональных опций. Рассмотрим ситуацию, когда строки скрываются из-за программных фильтров.
Проверим константу «Использовать статусы заказов клиентов». В некоторых случаях после обновления система начинает требовать обязательного заполнения статуса, и если в старых документах он не заполнен или заполнен некорректно, программный код формы может отфильтровывать такие строки.
Также проанализируем настройку «Налогообложение» в шапке документа. В новом релизе усилен контроль за этим полем. Если поле налогообложения пустое, условное оформление формы может скрывать колонки или строки целиком. Попробуем программно или через «Групповое изменение реквизитов» заполнить значение налогообложения в проблемных документах.
Релиз 11.5.21.99 известен наличием багов, которые оперативно исправляются фирмой «1С» через механизм патчей. Выясним, нет ли готового решения нашей проблемы.
Перейдем в Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи). Проверим наличие патчей, в описании которых упоминаются:
Если доступных патчей нет, рекомендуем включить автоматическую загрузку исправлений через интернет-поддержку.
Если вышеперечисленные методы не помогли, нам придется заглянуть «под капот» системы. Проанализируем событие ПриЧтенииНаСервере в модуле формы документа ЗаказКлиента.
Именно в этом методе система считывает данные из базы и распределяет их по элементам формы. Нам нужно найти момент, где заполняется объект ЭтаФорма.Объект.Товары. Если вы используете кастомные доработки, например, колонку "Отгружено" в заказе клиента, убедитесь, что внедренный код не конфликтует с типовыми механизмами отрисовки.
// В модуле формы документа
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
// Проверим, не срабатывает ли здесь очистка коллекции
// или установка фильтров в УсловномОформлении
Для Каждого ЭлементОформления Из ЭтаФорма.УсловноеОформление.Элементы Цикл
Если ЭлементОформления.Текст = "СкрытьСтрокиБезОбеспечения" Тогда
// Проверяем логику включения этого оформления
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Особое внимание уделим динамическому списку и табличной части. Если в консоли запросов данные есть, а на форме нет, проверьте свойство ПутьКДанным у элемента таблицы на форме. Убедитесь, что оно по-прежнему связано с Объект.Товары.
Не забудем и про технологическую платформу. Для корректной работы конфигурации УТ 11.5.21.99 требуется платформа не ниже 8.3.24.1548. На старых версиях (например, 8.3.22) управляемые формы могут отрисовываться с ошибками, игнорируя целые блоки интерфейса из-за несовместимости новых свойств элементов формы.
Если база клиент-серверная, обязательно выполните перезапуск службы сервера 1С. Это очистит серверный кэш метаданных, который часто является причиной того, что форма «не видит» обновленную структуру таблиц.
Для решения проблемы пустой табличной части в УТ 11.5.21.99 мы рекомендуем действовать по следующему плану:
Как правило, сочетание установки патчей и завершения процедур обновления решает проблему в 90% случаев.