Коротко говоря — никак. Во всем, что касается взаимодействия с госорганами (будь то налоговая, бухгалтерская отчетность, всякие акцизные платежи и прочее), 1С не заменить ничем и пытаться сделать это, по меньшей мере, неконструктивно.

Но вы не бросайте читать эту статью, это еще не основная мысль. Основная состоит в том, чтобы не угодить в логическую ловушку и не посчитать 1С совсем незаменимой в любой части автоматизации всех процессов на предприятии. Вот тут есть с чем поспорить и что предложить. Я хочу рассказать об одном успешном опыте автоматизации самых разных сторон бизнес-деятельности компьютерной фирмы и да, конечно же, о стыковке этого решения с 1С. Работа выросла из необходимости сопряжения разработанной самостоятельно системы с программой 1С, но этот подход (разделение на 2 программных блока) можно развить до полноценной философии построения информационной системы вообще.

Изначально задача состояла в следующем. Имелась корпоративная система автоматизации, написанная на Microsoft Access. За долгие годы своего развития она вобрала в себя практически все повседневные задачи – ведение банка, выписку счетов, оформление бухгалтерских документов на отгрузку, ведение склада, учет комплектующих по серийным номерам, составление технологических карт на производство и т.д. В последнее время к возможностям системы добавились: создание банковских платежек прямо на основе входящих счетов, автоматическая генерация прайс-листов в различных форматах для публикации на веб-ресурсах, обновление веб-сайта фирмы и подготовка Договоров на основе существующих шаблонов (так называемая офисная автоматизация). Плюс наличие большого количества аналитики и ведение всего управленческого учета. Все это делало систему совершенно незаменимой – перенос всего этого функционала в 1С занял бы кучу времени и денег.

С другой стороны, программа 1С-Предприятие обслуживала только потребности бухгалтерии для ведения БУ и НУ и сдачи отчетности. Таким образом, 1С была «отвязана» от повседневного функционирования фирмы, а проведенные документы заносились в базу апостериори.

Чем хороша такая схема? Плюсов можно выделить несколько:
— недопуск менеджеров и прочих (без)ответственных лиц в «святая святых» — бухгалтерскую базу, которую должны формировать только сотрудники, имеющие представление о предмете; аккуратное ведение справочников,
— вынесение из 1С всего, не имеющего к ней отношения: от управленческих задач, которые не требуют отражения в бухучете, до всяких прочих моментов, которые специфичны для фирмы и к которым не должны иметь доступ посторонние,
— экономия на лицензиях: рабочие места 1С стоят заметных денег,
— важный момент: при внедрении всего описанного выше дополнительного функционала непосредственно «внутрь» 1С существует постоянная необходимость в его доработке при выходе обновлений продукта. Это, понятное дело, гарантирует практически постоянную занятость программистов 1С, но это место, где можно заметно сэкономить.

Ну а жирный минус, понятное дело, состоит в необходимости дважды проводить все документы и пополнять справочники.

Собственно, в этом и состояла основная задача — уйти от двойной работы.

Сначала нужно разобраться с всякими справочниками — в первую голову, это справочник контрагентов и номенклатуры. Проблема синхронизации справочников, столь часто возникающая в программах такого рода, достаточно отработана и понятна в реализации. Однако, в данном случае было принято волевое решение не использовать 2 справочника со взаимной синхронизацией, а иметь один исходный вариант — тот, что заведен в MS Access, и просто реплицировать его в 1С (обратная связь — это просто отметка в MS Access, что данная позиция уже выгружена).
Этот подход сильно упрощает задачу. Для чисто бухгалтерских потребностей нужно совсем немного позиций в таких справочниках — и они также заводятся во внешней программе, чтобы не нарушать сформулированный принцип. Таким образом, можно убрать еще одну частую проблему — безмерное раздувание справочника используемой номенклатуры. Ниже приведена товарная группа «Мониторы»

image

Загрузку подобного ужаса в справочник 1С (а новые модели мониторов появляются чуть ли не каждую неделю) можно настроить таким образом, что все они попадали в одну позицию, так как нюансы цвета рамки вокруг экрана и количества пикселей совершенно несущественны для бухучета! Да и размер диагонали, если честно — тем более, если он отличается на полдюйма.

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

Таким образом, в 1С выгружаются только «рафинированные», очищенные и приведенные в должный вид данные. Выгрузка может производиться с некоторой периодичностью — порционность позволяет отладить работу бухгалтерии и избежать лишней работы, если в течение дня (или большего периода) что-то аннулировалось, менялось, проводилось вновь – все эти вещи происходят в рабочей базе MS Access, и только «устоявшееся» состояние дел поступает в 1С. Плюс, такого рода выгрузку можно синхронизировать с операциями бэкапа и всегда быть уверенным в правильности текущего состояния 1С –ской базы.

Понятное дело, документы поступают без автоматической проводки (хотя и это можно было бы настроить). Кстати, база MS Access сама проверяет наличие необходимых товаров на складе — для списания в отгрузку (дилемма – чтобы убедиться, что накладная может быть выписана текущей датой, что все необходимые для списания позиции есть на складе — то есть закуплены или произведены, — нужно… провести документ в 1С. Доверять это менеджерам, видимо, не стоит – или же за плечами менеджера всегда должен стоять сотрудник бухгалтерии)

Теперь о реализации. Программы 1С поддерживают интерфейс обмена данными через механизм ADO. Со стороны 1С используется штатный программный интерфейс для создания элементов справочников и документов, так что работа этого механизма не зависит от внутренней подробностей реализации 1С, которые могут меняться от версии к версии и от обновления к обновлению. С другой стороны, главным лозунгом разработки было «максимально использовать возможности 1С, где это возможно». Поэтому в окончательной реализации связки из MS Access грузилось только название и ИНН контрагента — данные «подтягивались» из справочников ЕГРЮЛ и ИП с помощью встроенного в 1С механизма (то же самое относится к банковским реквизитам – они актуализируются по БИК).

Во внешней базе MS Access были созданы запросы (Query), которые подготавливают все необходимые данные для загрузки в 1С – бери и раскладывай по документам и полям.

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

image

Мы считаем, что подобную идеологию построения информационных систем можно взять за основу не только в тех фирмах, где есть унаследованные не-1С системы, но и при организации работы новых юридических лиц, так как на MS Access у нас имеются большие наработки. Преимущества подобного подхода расписаны выше.

Комментарии (2)


  1. Delphinum
    28.09.2015 15:13

    Коротко говоря – никак. Во всем, что касается взаимодействия с госорганами (будь то налоговая, бухгалтерская отчетность, всякие акцизные платежи и прочее), 1С не заменить ничем и пытаться сделать это, по меньшей мере, неконструктивно

    У нас кадастровая на Парусе сидит, а в налоговой через день: «извините, программа не работает, придите завтра».


  1. PQR
    28.09.2015 15:41

    Нормально сделали, у нас всё так же — и справочники, и возврат GUID, основная система на PHP.