Полтергейст
К тому моменту проблему уже успели посмотреть и программисты 1С, и системные администраторы. Оставался один вопрос: почему исправная база перестаёт работать именно при печати счёта?
В этой истории
К нам обратился клиент с проблемой, которую к тому моменту уже довольно долго пытались решить.
Была обычная бухгалтерская база 1С. В целом работала нормально: документы открывались, отчёты формировались, пользователи на скорость не жаловались.
За одним исключением.
Счета.
Стоило попытаться сформировать счёт или открыть его печатную форму — 1С практически переставала отвечать.
Проблемой занимались и программисты 1С, и системные администраторы. Первые искали причину в базе и конфигурации. Вторые — в компьютерах, сети и инфраструктуре.
И тех, и других можно было понять.
Если зависает 1С — естественно начать с 1С. Если с самой программой всё выглядит нормально — посмотреть, что происходит вокруг неё.
Но проблема оставалась.
В какой-то момент клиент оказался в довольно знакомой ситуации: специалисты есть, каждый отвечает за свою часть системы, а ответить на простой вопрос «почему не работают счета?» некому.
Нас попросили посмотреть на ситуацию со стороны.
Начали не с предположений о причине, а с самого момента, когда всё ломалось.
База работает.
Счёт открывается.
Проблемы начинаются при формировании печатной формы.
Значит, имеет смысл посмотреть, что в этот момент пытается сделать 1С.
Среди прочего она выводила на счёт логотип компании.
Обычный логотип.
Только файл с ним весил около 80–90 мегабайт.
Каждый раз при формировании печатной формы 1С загружала это изображение и пыталась его обработать. Со стороны пользователя всё выглядело так, будто программа просто наглухо зависла.
Никакой полезной ошибки при этом не возникало.
Логотип уменьшили до разумного размера.
Счета начали формироваться нормально.
В этой истории не было сложного исправления. Не понадобилось переписывать конфигурацию, перестраивать сервер или искать проблему в сети.
Сложным оказалось другое — перестать делить проблему на «1С» и «не 1С» и посмотреть на неё целиком.
Иногда причина большой проблемы действительно оказывается очень маленькой.
Просто в этот раз она весила 90 мегабайт.