Ведомость похожа на лапшу, склад пока жив

Кладовщик Олег открыл маршрутную ведомость партии К-208. Вместо строк с номерами ячеек на листе оказались обрывки таблицы, половина штрихкода и один бодрый квадратик, который явно не планировал становиться бухгалтерским документом.

Олег посмотрел на лист и сообщил начальнику:

— Весь склад сломался.

Начальник выглянул в окно. Картошка лежала в ячейках, погрузчики ездили, люди ругались в обычном рабочем режиме. Сломалось что-то важное, но масштаб ещё предстояло установить.

Сообщение 1С «Ошибка формата потока» означает, что программа попыталась прочитать последовательность данных и не смогла разобрать её в ожидаемом формате. Сообщение не называет повреждённый слой. Проблема может оказаться в локальных временных данных, настройке формы, сохранённом объекте, конфигурации или данных информационной базы. Контекст появления ошибки решает больше, чем сама короткая надпись.

«Ошибка формата потока» говорит, что 1С не смогла прочитать данные. Она пока не говорит, какие данные повреждены.

На складе есть несколько журналов

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

Шаг 1. Рабочий лист одного кладовщика

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

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

След: ошибка зависит от конкретного компьютера или профиля пользователя.

Шаг 2. Общая маршрутная ведомость операции

Все кладовщики используют одну ведомость при открытии конкретного отчёта или справочника. Если лист составлен неправильно или его запись оборвалась, одинаковый сбой повторится у разных сотрудников в одном месте.

В 1С это может быть сохранённая настройка, сериализованный объект, внешняя обработка, часть конфигурации или данные, которые читает конкретная форма. Если ломается одна операция у нескольких пользователей, проверяют общий для неё объект и момент его появления.

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

Шаг 3. Главный журнал склада

В главном журнале записаны партии, остатки и движения. Повреждение его страниц затрагивает разные операции и разных сотрудников. Тут шутки заканчиваются. Оригинал сохраняют, запись останавливают по плану, дальнейшую проверку проводят на копии.

В файловом варианте 1С данные могут находиться в файле информационной базы. В клиент-серверном варианте ими управляет система управления базами данных. Порядок копирования и восстановления у этих режимов различается.

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

Шаг 4. Книга правил склада

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

В 1С отдельный слой составляют конфигурация и служебные данные её обновления. Официально зафиксированы случаи, когда прерванная загрузка конфигурации приводила к «Ошибке формата потока». Это один подтверждённый сценарий, а не универсальный диагноз для каждого такого сообщения.

След: ошибка впервые появилась во время или сразу после обновления, загрузки конфигурации либо аварийного завершения операции.

Синхронная схема слоёв

СКЛАД
[1. Личный рабочий лист Олега]
             ↓ общий сбой?
[2. Ведомость конкретной операции]
             ↓ ошибки шире?
[3. Главный журнал партий и остатков]
             ↘ после смены правил?
[4. Книга складского регламента]

1С
[1. Локальные настройки, кэш, временные данные]
             ↓ общий сбой?
[2. Форма, настройка, объект, обработка]
             ↓ ошибки шире?
[3. Данные информационной базы]
             ↘ после обновления?
[4. Конфигурация и служебный слой обновления]

Стрелки показывают порядок сужения области. Они не означают, что ошибка обязательно проходит все четыре уровня.

Почему слово «поток» сбивает с толку

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

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

Дерево проверки

Где именно появляется сообщение?

  • При запуске до выбора базы. Проверяем клиентское окружение и точный этап запуска.
  • При входе в одну базу. Фиксируем режим базы и круг затронутых пользователей.
  • При открытии одной формы, отчёта или справочника. Ищем общий объект этой операции.
  • Во многих действиях. Рассматриваем более широкий слой, включая данные и конфигурацию.
  • Во время обновления или сразу после него. Сохраняем состояние и проверяем сценарий прерванного изменения на копии.

Ошибка есть у других пользователей?

  • Только у Олега на одном компьютере. Сравниваем вход того же пользователя на другом рабочем месте и другого пользователя на этом компьютере.
  • У одного пользователя везде. Проверяем его профиль и сохранённые настройки.
  • У всех в одном действии. Проверяем общую ведомость операции.
  • У всех во многих действиях. Переходим к плану сохранения оригинала и диагностике копии.

Какой режим базы используется?

  • Файловый. Сначала обеспечиваем согласованную копию и исключаем дальнейшую запись в повреждаемый оригинал на время работ.
  • Клиент-серверный. Копирование и проверку согласует администратор 1С и системы управления базами данных.
  • Неизвестно. Определяем режим до любых операций с файлами.

Есть свежая проверенная резервная копия?

  • Да. Записываем её дату и способ проверки восстановления.
  • Есть файл с названием «backup». Это ещё не доказательство. Проверяем, открывается ли копия в безопасной среде.
  • Нет или неизвестно. Сначала сохраняем текущее состояние по правилам для этого режима.

Что видит бизнес

Ошибка способна затронуть одного сотрудника, одну операцию или всю базу. Цена решения сильно отличается. Удаление файлов по совету из интернета может превратить локальную проблему отображения в потерю рабочего состояния.

Руководителю нужны три ответа:

  1. у кого воспроизводится ошибка;
  2. в каком действии она возникает;
  3. сохранён ли исходник до вмешательства.

Эти ответы определяют масштаб, простой и безопасный порядок работ.

Что можно собрать безопасно

  • скриншот полного сообщения;
  • точное время и действие перед ошибкой;
  • список затронутых пользователей и компьютеров;
  • результат проверки той же операции под другим пользователем и на другом рабочем месте;
  • режим информационной базы;
  • версия платформы и конфигурации, записанные без самостоятельного обновления;
  • события перед первым сбоем: отключение питания, обновление, загрузка, нехватка места;
  • состояние свободного места;
  • наличие и дата последней проверенной копии;
  • список действий, которые уже успели выполнить после ошибки.

Стоп-действия

  • не удалять содержимое каталога базы по списку расширений из чужой статьи;
  • не трогать файл информационной базы;
  • не очищать кэш, пока не зафиксированы пользователь, компьютер и точный сценарий;
  • не запускать исправление на единственном оригинале;
  • не продолжать массовую запись, если есть признаки повреждения общего хранилища;
  • не обновлять платформу и конфигурацию «для проверки» на рабочей базе;
  • не считать резервной копией файл, который ни разу не восстанавливали;
  • не смешивать файлы разных копий и моментов времени.

История «удалили всё лишнее, а лишним оказался учёт» плохо заканчивается и ещё хуже объясняется собственнику.

Как выглядит проверяемый результат

Плохой итог: «почистили временные файлы, вроде отпустило».

Рабочий итог отвечает на вопросы:

  • какой слой был повреждён;
  • какие факты это доказывают;
  • где сохранён исходник;
  • на какой копии выполнялась проверка;
  • какое действие устранило причину;
  • прошёл ли контрольный сценарий у затронутых пользователей;
  • подтверждена ли целостность важных данных.

Пример: «Ошибка воспроизводилась только в профиле Олега на двух рабочих местах при открытии конкретной формы. Общие данные и та же форма под контрольным пользователем открывались. Сохранённые настройки Олега восстановлены штатным способом. Контрольный документ открыт, записан и повторно прочитан. Остальные пользователи продолжали работать».

Или более серьёзный вариант: «Ошибка возникала у всех после прерванного обновления. Оригинал сохранён и выведен из записи. На отдельной копии восстановлено согласованное состояние конфигурации, выполнена проверка и пройден контрольный сценарий. Решение о переносе исправления на рабочую базу принято после проверки копии».

Смысл один: сначала выясняем, какая ведомость порвалась. Главный журнал не отправляют в шредер из-за помятого листа Олега.

Покажите одно сообщение и одну операцию

Восстановим маршрут, найдём последнюю подтверждённую точку и определим безопасный следующий шаг.

Обсудить ситуацию