Не секрет, что с появлением еще версии 7 программы 1С:Предприятие многие пользователи были очарованы возможностью работы с программой через интернет. Основная роль такого подхода была направлена на решение задач, связанных с синхронизацией работы удаленных офисов. Решали эту проблему и другими способами, например через терминальное подключение или написанием приложений, работающих напрямую через SQLServer. В первом случае, пользователи испытывали затруднения при обработке данных вследствии высокой загрузки терминального сервера, требования к которому непрерывно расло, во втором, нужно было быть достаточно продвинутым спецом, чтобы работать с набором таблиц sql базы данных и недопустить ошибки.
На выручку пришел набор компонент от той же компании 1С в виде web-компоненты. Ура!!! Настало время делать все по новому и с высокой степенью надежности, но... к сожалению, надежность работы компоненты оставляла желать лучшего. Многие проекты, писанные в разное время разными компаниями или частными специалистами, до сих пор остались либо не дописанными либо если работающими но не совсем так как того желал заказчик.
С появлением версии 8 программы 1С:Предприятие а также с появлением компоненты для работы через web дела пошли на поправку. И действительно, надежность этой платформы приводит к состоянию эйфории. Нет нет, я не лукавлю, это действительно так. Что тут сказать, молодцы ребята из 1С, так держать! Но если написана эта статья, значит есть чтото такое, о чем нельзя умолчать, не так ли?
Основная проблема, с которой сталкиваешься при построении какого либо приложения под 1С в среде .Net Framework это слабая эластичность компоненты. К примеру неустойчивость ее работы на страницах являющихся не отдельными окнами основного приложения а фреймами в составе основного контейнера. Проще говоря, компоненту можно использовать только так, как это предлагает сама фирма 1С. Если хочется сделать чтото покруче, то приходиться либо отказываться от этой идеи вообще, либо лепить то, что хотябы работает без сбоев.
Совсем недавно, меня очень заинтересовала работа, связанная с написанием решения под конкретную задачу. Но посидев за компом пару недель, я вдруг понял, что ничего путного написать неполучится, слишком уж мудреные требования к использованию составляющих этой компоненты. И я решил... написать свои!
Не буду утомлять читателя всеми примудростями этой неблагодарной работы, скажу лишь что в основу была положена работа связанная с созданием серверных компонент на языке ASP.NET движка .Net Framework 2.0 а именно элементов визуального интерфейса и интерфейса платформы 1С:Предприятия. Основной упор был сделан на возможность разделения приложения по базам данных т.е. с широким использованием alias.
В результате трех месяцев работы, удалось реализовать возможность использования компоненты не только для частного использования но и для построения глобальной системы автоматизации на уровне многофирменного учета т.е. учета от имени нескольких организаций не связанных между собой. При этом, все пользователи разделялись на группы, которым был назначен свой собственный интерфейс и даже права доступа к учетным объектам.
Основное предназначение этих компонент - создание приложений любой сложности и с любым требованием к учетным задачам.
В качестве примера уже работающей системы, хочу привести демонстрационный ролик. Он в ZIP архиве. Распакуйте файл и запустите exe файл на выполнение. Не беспокойтесь вирусов там нет. Просто я сделал видео файл со звуком в высоком качестве. После старта файла несколько секунд будет звучать вступительная музыка, далее демонстрация возможностей моей системы.
Если кого заинтересует моя работа, пишите, обязательно отвечу.
Демо-ролик приложения: http://bluesky.wbs.net.ua/files/pr_01.zip