Отчёты и доработки в 1С
Делаем то, чего нет в типовой конфигурации: отчёты, обработки и расширения под ваш учёт. Без снятия конфигурации с поддержки — обновляться вы сможете как обычно.
Расширениями, а не правкой типовой конфигурации
В строительных компаниях типовых конфигураций почти не бывает: отраслевое решение, надстройка над ним, десяток доработок разных лет. Поэтому первый вопрос любой задачи — не «как написать отчёт», а «как написать его так, чтобы вы не потеряли возможность обновляться».
Ответ обычно один: расширение конфигурации. Оно живёт отдельно, конфигурация остаётся на поддержке, обновления ставятся штатно, а выключить нашу доработку можно одной галкой. Правки в код чужих отраслевых решений мы не вносим принципиально — найденные дефекты оформляем задачей их разработчику.
Что делаем чаще всего
- План-фактный анализ бюджета и движения денег — с разными структурами отчёта, иерархией статей и итоговой таблицей, чувствительной к отборам;
- старение задолженности — разложение долга по срокам возникновения, отдельно по расчётам и авансам;
- планирование оплат и работа казначея — реестры платежей, платёжный календарь, статусы согласования;
- заявки на расход в единой форме бюджета — ввод и визирование там, где людям удобно;
- выгрузка данных наружу — веб-сервисы, отдающие сырые факты для витрин и дашбордов;
- обработки разовых задач — перенос, пересортировка, массовая правка справочников со сверкой количества до и после.
Правила, которые экономят вам дни
Номер версии проставляется сборкой, а не руками. Он печатается и в имени файла, и в шапке отчёта. Константа в коде, которую надо не забыть обновить, рано или поздно разъезжается с файлом — и пользователь смотрит на «сборку 001» в четырнадцатой версии, а вы полдня чините ошибку, которой уже нет.
Диагностика печатается внутрь самого отчёта. Что применилось, что построено, почему пропущена строка. Сообщения среды теряются при фоновом запуске, а внутри документа остаются навсегда.
Имена не пересекаются с системными. Собственные объекты именуются с префиксом, а переменные никогда не называются как встроенные типы и функции платформы: платформа молча возьмёт переменную вместо функции, и ошибка всплывёт в бою.
Как проверяем
Единственная настоящая проверка — запуск в той среде, где отчёт будет работать. Внешнее соединение, консоль или тестовый скрипт часто ведут себя мягче: там, где рабочая среда выбросит ошибку, обходной канал молча вернёт пустоту. Поэтому «проверил через подключение» мы говорим только про содержимое данных, а про поведение — после запуска в самой базе.
Что мы делаем и чего не делаем
Делаем
- читаем и анализируем данные свободно;
- отлаживаем на тестовом контуре;
- ставим доработку в боевую базу по согласованному окну;
- оставляем способ отката — выключение расширения одной галкой;
- ведём журнал: что установлено, когда и кем.
Не делаем
- не правим код чужих отраслевых решений, даже временно;
- не пишем в боевую базу без явного разрешения на конкретное действие;
- не удаляем данные безвозвратно — заменяемое переименовываем с датой;
- не считаем задачу сделанной, пока она не отработала в реальной среде;
- не оставляем доработку без описания того, как она устроена.
То, что спрашивают до начала работы
Не сломает ли доработка обновление конфигурации?
Мы делаем доработки расширениями, а не правкой типовой конфигурации, — поэтому она остаётся на поддержке и обновляется штатно. Правки в код чужих отраслевых решений мы принципиально не вносим: найденные дефекты оформляем задачей их разработчику.
Как понять, что установлена именно новая версия отчёта?
Номер сборки проставляется автоматически при сборке и печатается и в имени файла, и в шапке самого отчёта. Это звучит мелочью ровно до первого случая, когда полдня чинят «ошибку», которой в текущей версии уже нет.
Кто будет сопровождать доработку дальше?
Как решите. Исходники остаются у вас, устройство описано, и ваш штатный специалист может вести их сам. Можем сопровождать и мы.
Соседние направления
Давайте посмотрим на ваши данные
Расскажите, что не работает. Разберём ваш ландшафт и предложим, с чего имеет смысл начать, — без обязательств с вашей стороны.