1С.Net:Предприятие - подключите .Net Framework к 1C через Elisy .Net Bridge
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
| Наименование | Скачано | Купить файл | По подписке PRO |
|---|---|---|---|
|
Демо-версия Elisy .NetBridge v8.0.1 для .Net 8
.zip 3,16Mb
0
|
0 | 6 200 руб. Купить | 10 SM Скачать |
|
Демо-версия Elisy .NetBridge v5.0.1 для .Net 5
.zip 951,16Kb
0
|
0 | 6 200 руб. Купить | 10 SM Скачать |
|
Бесплатная Elisy .Net Bridge v4.0.20 x64
.zip 772,30Kb
42
|
42 | 2 500 руб. Купить | 1 SM Скачать |
|
Бесплатная Elisy .Net Bridge v4.0.20 x32
.zip 847,97Kb
26
|
26 | 2 500 руб. Купить | 1 SM Скачать |
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Начиная с версии 4.0.20, Elisy .Net Bridge 4 стал бесплатным и не требует активации. Более новые версии для .Net 5 и 6 остаются платными.
- viollan - Сотрудник компании АТехнолоджи. Подключение к 1С .Net-сборок для 1С-конфигурации производства окон.
- vic_msu - Распознавание штрихкодов. Подключение к 1C .Net-сборок сторонних разработчиков.
- Serno - Использование регулярных выражений для анализа и поиска ошибок в модулях конфигураций (оптимизация скорости для УПП и УСО).

После успеха .Net framework 2.0 компания Microsoft стала развивать технологию, расширяя число поддерживаемых операционных систем и переводя свои ключевые продукты, например, SQL Server и MS Office на поддержку .Net API. Языки программирования: C++, VB, интегрированные в Visual Studio, начиная с 2003 версии стали поддерживать .Net framework. Был выпущен новый язык программирования C#. Объясняется это тем, что разработка приложений с использованием .Net framework уменьшает количество исходного кода на 60-80 процентов, пропорционально уменьшает время на отладку и число ошибок, допущенных программистами.
Elisy .Net Bridge добавляет функциональность .Net Framework к 1C версий 7.7/8.0/8.1/8.2. Текущие версии Elisy .Net Bridge 1.0 и 2.0 предназначены для реализации в 1C функциональности консольных приложений C# и VB.Net. Сюда относятся:
- Шифрование в т.ч. асимметричными алгоритмами и вычисление контрольных сумм;
- Работа с веб-сервисами и электронной почтой;
- Интегрирование с системами, которые предоставляют .Net API;
- Работа с регулярными выражениями, которых недостает в 1С;
- Формирование и преобразование изображений;
- Обращение к реестру Windows и получение региональных и системных настроек системы;
- Организация кеша, в котором хранятся часто используемые значения без обращения к серверу;
- Более эффективная обработка XML (добавляются XPath и XSL-трансформация).
Elisy .Net Bridge 2.0 разработан для использования с .Net Framework 3.5 SP1 и выше, поддерживает 1С:Предприятие v.7.7/8.0/8.1.
Основные особенности:
- Поддерживает создание объектов .Net из GAC и по полному пути к сборке;
- Поддерживает прямое обращение к свойствам и методам объектов;
- Поддерживает типы Enum и производные;
- Обеспечивает развернутую информацию об ошибках;
- Свойства объектов видны при отладке из конфигуратора 1C;
- Не требует предварительной регистрации через REGSVR32 и REGASM, можно обращаться через функцию ЗагрузитьВнешнююКомпоненту;
- Содержит логику для обращения к специфическим возможностям .Net framework.
Предусмотрена гибкая система лицензирования (от однопользовательских лицензий до GPL) и скидок (до 60%).
Организация простейшего Http-сервера напрямую из 1С:
AttachAddIn("AddIn.ElisyNetBridge");
AddIn = New("AddIn.ElisyNetBridge");
net = AddIn.New("Elisy.NetBridge", "Elisy.ElisyNetBridge");
Если НЕ net.GetStatic("System.Net.HttpListener","IsSupported") Тогда
Сообщить("Для использования класса HttpListener нужна Windows XP SP2 или Server 2003.");
Возврат;
КонецЕсли;
listener = net.New("System.Net.HttpListener");
listener.Prefixes.Add("http://*:8080/");
listener.Start();
Сообщить("Прослушивание...");
//Метод GetContext блокирует пока ждет запрос.
context = listener.GetContext();
request = context.Request;
// Получить объект ответа
response = context.Response;
// Создать ответ - HTML-строку
responseString = "Ответ от HttpListenerПосетите 1csoftware.com";
buffer = net.GetStatic("System.Text.Encoding", "UTF8").GetBytes(responseString);
// Получить поток ответа и записать ответ в него.
response.ContentLength64 = buffer.Length;
output = response.OutputStream;
output.Write(buffer,0,buffer.Length);
// Необходимо закрыть выходной поток.
output.Close();
listener.Stop();
Следующий код показывает, как напрямую из 1С нарисовать рисунок и сохранить его на диске:
AttachAddIn("AddIn.ElisyNetBridge");
AddIn = New("AddIn.ElisyNetBridge");
net = AddIn.New("Elisy.NetBridge", "Elisy.ElisyNetBridge");
//Код показывает, как нарисовать простое изображение и записать его в файл
drawing = net.LoadAssembly("System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
buffer = net.New("System.Drawing.Bitmap", 350, 350);
bufferSurface = net.CallStatic("System.Drawing.Graphics", "FromImage", buffer);
yellowBrush = net.New("System.Drawing.SolidBrush", net.New("System.Drawing.Color").Yellow);
bufferSurface.FillEllipse(yellowBrush, 25, 25, 187, 187);
blackBrush = net.New("System.Drawing.SolidBrush", net.New("System.Drawing.Color").Black);
bufferSurface.FillEllipse(blackBrush, 70, 75, 22, 17);
bufferSurface.FillEllipse(blackBrush, 140, 75, 22, 17);
blackPen = net.New("System.Drawing.Pen", net.New("System.Drawing.Color").Black, 10);
bufferSurface.DrawArc(blackPen, 65, 95, 102, 75, 0, 180);
buffer.Save("d:\Smile.jpg");
Ссылки по теме:
Сайт разработчиков
Elisy .Net Bridge на английском языке
Блог на richmedia.us
Распознавание штрихкодов
// //
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Разработка Инструментарий разработчика Групповая разработка (Git, хранилище) Разработчик Платные (руб)
Практический курс по работе с AI-агентами для разработчиков 1С уровня middle и senior, а также тимлидов команд: от постановки задач и передачи контекста до создания расширений, интеграций, MCP-инструментов, тестов и проверки готового решения.
50000 руб.
10.09.2026 14320 123 0
Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.
24900 руб.
20.08.2024 83745 432 171
Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)
Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.
16500 руб.
02.09.2020 286384 1611 423
Пакетная печать Печатные формы Инструментарий разработчика Разработчик 1С:Предприятие 8 Платные (руб)
Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26
22570 руб.
06.10.2023 44448 123 54
Инструментарий разработчика Нейросети Платные (руб)
Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.
15250 руб.
25.08.2025 77466 147 41
Инструменты администратора БД Инструментарий разработчика Роли и права Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)
Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.
17000 руб.
10.11.2023 28866 104 46
Инструментарий разработчика Инструменты администратора БД Системный администратор Разработчик Аналитик 1С:Предприятие 8 1С 8.3 1С 8.5 1C:ERP 1С:УТ 1С:ДО 1С:Бухгалтерия 3.0 1С:ERP. Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Россия Платные (руб)
Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.
5000 руб.
14.01.2013 217534 1256 0
Задачи пользователя Инструментарий разработчика Корректировка данных Закрытие периода Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта Стажер 1С 8.3 1С:ERP Управление предприятием 2 1С:Управление нашей фирмой 3.0 Управленческий учет Платные (руб)
Обработка предназначена для поиска, анализа и исправления отрицательных остатков во всех регистрах накопления информационной базы 1С.
6100 руб.
27.02.2026 3299 19 3
Я предполагаю, что бесплатный аналог на 1cpp.ru поддерживает только 1С v.7.7. Последние тесты нашего компонента показали, что и на 1С 8.2 бета он работает. Таким образом достигается поддержка всех популярных версий 1С, а приобретенный компонент и написанный для него код прослужат дольше.
Давайте рассмотрим пример из статьи с рисованием. Традиционный подход предусматривает, что какой-то специалист напишет на C# проект внешнего компонента, заложит в него функции, например: НарисоватьДугу, СоздатьИзображение, СоздатьКисть и т.д. Вся проблема в том, что проект на C# - это ненужный посредник-враппер, дублирующий функциональность .Net Framework и добавляющий свои ошибки. Всю функциональность .Net framework таким способом предоставить все равно никто не сможет из-за его гигантских размеров. Программист 1С ограничен в работе только теми функциями, которые захотел предоставить ему разработчик C#. Шаг влево, шаг вправо не допускается без переписывания проекта C#. Это все время. Вторая проблема – реализация каждой задачи на 1С требует отдельного внешнего компонента. Один – на рисование, другой – на работу с веб-сервисами, третий – на отправку почты, четвертый – на регулярные выражения.
Elisy .Net Bridge предполагает использование одного ВК на все задачи, предоставляя гибкость напрямую обращаться к методам и свойствам объектов .Net framework. Нужно нарисовать прямоугольник, не ждите, пока разработчик C# добавит функцию НарисоватьПрямоугольник, а смело вызывайте bufferSurface.FillRectangle из кода 1С.
По поводу отладки. Отладка в случае с Elisy .Net Bridge присходит быстро и прозрачно, так как ведется только конфигуратором 1С с возможностью просматривать значения свойств объектов .Net в отладчике, установки точек останова и др. Никаких дополнительных сложностей по сравнению с другими методами я придумать не могу.
Как, мало знакомый с другими языками программист 1С напишет код, приведенный здесь в качестве примера?
Разработчики, пользуясь бесплатной версией, могут ближе познакомиться с платформой .Net, а также придумать на базе компонента свои платные решения. Прибыль с пользователей можно получить как за работу, так и за компонент, который в таком случае разработчикам поставляется с 40% скидкой.
Еще приятно удивляет количество скачиваний за несколько дней. Это говорит о том, что компонент востребован. Хотелось бы, конечно, видеть побольше отзывов и предложений. Может, кому-то недостает конкретных примеров использования.
Мало кто с нуля пишет программы. Ищут подходящий шаблон-пример и дорабатывают его для себя. Elisy .Net Bridge включает в себя уже около 10 примеров использования, планируется, что количество примеров будет расширяться.
Кгрхм... Позволю себе не согласиться.
(7) Да дело совсем не в шаблонах, а, скорее, в отходе от шаблонов.
Эти "шаблоны" писали тоже живые люди и это, в свое время, было откровением идля них, и для других.
А реализация... Тов. Abadonna в (9) высказывает абсолютно правильную мысль - все языки не более, чем обертка над API (который, в свою очередь, обеертка еще над чем-то).
И .Net не панацея. Это иллюзия, что .Net-программы невелики по размерам.
За этой невеликостью стоит такое лишнее поедание ресурсов...
Но удобно.
а) Сложность отладки - не поставишь точку останова на строку в переменной СтрокаДляКомпиляции, также не посмотришь значения свойств объектов. Хорошо, когда пример простой, как в статье, а если нет - намучаешься.
б) Компонент (17) требует прадварительную регистрацию в реестре, для этого операцию нужно выполнять на каждом клиенте.
в) На вход из 1С в компонент (17) можно подать и вернуть только элементарные типы: bool, string, числовые. Enum, например, он не поддерживает. Проблемы возникнут с классами с неустановленными атрибутами ComVisible или ComVisible=false.
Самое главное - на Elisy .Net Bridge можно организовать всю функциональность (17) прямо из кода 1С.
Не вызывает возражений и :
"Вся проблема в том, что проект на C# - это ненужный посредник-враппер, дублирующий функциональность .Net Framework и добавляющий свои ошибки."
Осталось ожидать от "1с" реализации этих возможностей как встроенных в платформе 8.2.
На радость пользователям и ,возможно , к огорчению разработчиков
Elisy .Net Bridge .
Логично предположить, что 1С не спешит добавить такие возможности в свой продукт из-за того, что пользователи смогут сравнивать 1С с .Net framework и сделают выбор в будущем не в пользу первой технологии. Или будут требовать от 1С фичи из .Net.
1c-ников сложно чем-то удивить. Мы работаем над примерами. Сейчас уже доступны примеры на шифрование/расшифровку данных, регулярные выражения и рисование, конвертация форматов изображений.
Чтобы ахнули 1С-ники сначала нужно определиться, чего 1с-никам не достает в глобальном смысле. Если есть нерешенные задачи 1C, пишите. Мы постараемся предложить свое решение через примеры к Elisy .Net Bridge.
"Elisy .Net Bridge создавался изначально для иностранцев, как я понял, с целью интеграции 1С с зарубежными системами. Я подозреваю, что это Microsoft Dynamics CRM, которая имеет .Net API."
следует что Вы не являетесь разработчиком Elisy .Net Bridge ?
Цитата :
"Сейчас уже доступны примеры на шифрование/расшифровку данных, регулярные выражения и рисование, конвертация форматов изображений."
Здесь пока не выложены эти примеры в виде внешних обработок.
Цитата :
"Чтобы ахнули 1С-ники сначала нужно определиться, чего 1с-никам не достает в глобальном смысле... пишите ."
Вы продвигаете свой продукт ? Вы хотите его продать ?
Почему кто-то должен Вам писать , чтобы помочь Вам продать Ваш продукт ?
Пока простые одинэсники просто недоумевают (21) и считатют ,что
запросто обойдутся без Вашего продукта.
Добрый день.
Ответьте сначала на вопрос вы - вы представитель конкурирующей фирмы ?
Просто не совсем понятно откуда родилась такая гневная отповедь. Прямо распяли и сожгли. Но давайте по порядку:
Цитата:
"следует что Вы не являетесь разработчиком Elisy .Net Bridge ?"
Мы являемся. И если честно то не вижу сути претензии. Вы разговариваете только с разработчиками ?
Цитата:
"Здесь пока не выложены эти примеры в виде внешних обработок."
Мы над этим работаем. в чем суть обвинения ? Вы считаете что мы выдаем желаемое за действительное и разводим "простых одинэсников" ? это не так, банально не хватает времени. если же вам не нравится скорость нашей работы - вы можете стать спонсором и мы обязуемся что примеры появятся в ближайший срок. А то не совсем понятно кто кого в попытке "навариться за чужой счет" обвиняет.
Цитата:
"Вы продвигаете свой продукт ? Вы хотите его продать ?
Почему кто-то должен Вам писать , чтобы помочь Вам продать Ваш продукт ?"
Пожалуйста, говорите только от своего имени. Если же вы представляете консорциум 1с программистов - то пожалуйста представьтесь. По существу вопроса отвечаю - мы не в коем случае никого не заставляем. Колхоз это дело добровольное. Имеется ввиду такая ситуация когда программисту необходима подобная система но он хочет убедится что он все правильно понял и получит то что и ожидает за свои деньги. все по честному. В крайнем случае мы продукт
дорабатываем. Если вас беспокоит тот факт что ваши уникальные идеи будут использованы в корыстных целях - то просто не делитесь ими. Уверен что некоторые будут с Вами солидарны.
Цитата
"Пока простые одинэсники просто недоумевают (21) и считатют ,что
запросто обойдутся без Вашего продукта."
?? Нет, всетаки конкурирующая фирма :-)
Ответьте сначала на вопрос вы - вы представитель конкурирующей фирмы ?
Просто не совсем понятно откуда родилась такая гневная отповедь. Прямо распяли и сожгли. Но давайте по порядку:
Цитата:
"следует что Вы не являетесь разработчиком Elisy .Net Bridge ?"
Мы являемся. И если честно то не вижу сути претензии. Вы разговариваете только с разработчиками ?
Цитата:
"Здесь пока не выложены эти примеры в виде внешних обработок."
Мы над этим работаем. в чем суть обвинения ? Вы считаете что мы выдаем желаемое за действительное и разводим "простых одинэсников" ? это не так, банально не хватает времени. если же вам не нравится скорость нашей работы - вы можете стать спонсором и мы обязуемся что примеры появятся в ближайший срок. А то не совсем понятно кто кого в попытке "навариться за чужой счет" обвиняет.
Цитата:
"Вы продвигаете свой продукт ? Вы хотите его продать ?
Почему кто-то должен Вам писать , чтобы помочь Вам продать Ваш продукт ?"
Пожалуйста, говорите только от своего имени. Если же вы представляете консорциум 1с программистов - то пожалуйста представьтесь. По существу вопроса отвечаю - мы не в коем случае никого не заставляем. Колхоз это дело добровольное. Имеется ввиду такая ситуация когда программисту необходима подобная система но он хочет убедится что он все правильно понял и получит то что и ожидает за свои деньги. все по честному. В крайнем случае мы продукт
дорабатываем. Если вас беспокоит тот факт что ваши уникальные идеи будут использованы в корыстных целях - то просто не делитесь ими. Уверен что некоторые будут с Вами солидарны.
Цитата
"Пока простые одинэсники просто недоумевают (21) и считатют ,что
запросто обойдутся без Вашего продукта."
?? Нет, всетаки конкурирующая фирма
РЕБЯТА ЗАЙМИТЕСЬ ДЕЛОМ А НЕ ВЫЯСНЕНИЕМ ЧТО ДА КАК...КОМУ НРАВИТСЯ ТОТ И ВОЗЬМЕТ))
Вы отреагировали на показавшийся резким тон.
Почему бы не предположить , что это тон выражающегося без обиняков Вашего сторонника ?
Способ продвижения Вашего продукта вызывает большие сомнения.
Судя по всему продвижением занимаются не менеджеры , а сами программисты.
Явление распространенное и печальное. Отсюда и непонимание между нами.
Но успехов я Вам все равно пожелаю.
(47) Нарушение лицензионного соглашения по платформе 1С:Предприятие
(49) Хм это значит если я копаюсь в данных ИБ непосредственно в SQL то это 1С:Совместимо !? Мдас круто у 1С стоит вопрос сертификации.
Если было бы все так просто, Инфостарт и другие 1С-порталы были бы завалены такими разработками. Чтобы не быть голословным - начните делать и поймете.
Прочтите обновленную статью: раздел "Кто в данных хозяин" и поймете: лицензия противоречит законодательство РФ. Для вас что важнее - закон или лицензия?
Elisy .Net Bridge самостоятельно не предоставляет функциональности прямого доступа к данным. А прикладным решениям на основе компонента этого никто запретить не может, также как и другие операции, например: форматирование диска, снятие процессов, спам-рассылки, перезагрузка компьютера. То, что делают прикладные решения пусть остается на их совести. Net framework очень гибкий и предоставляет возможности для бесконечного количества сценариев.
Уже делал потому и говорю. Написал внешнюю компоненту для 1С, обёртку над своей библиотекой. А то что их нет лишь говорит что незачем писать прокси объекты (конечно бывают исключения) когда можно непосредственно сам оригинал использовать.
Если использовать прямое чтение как штатный механизм то закон о правах потребителя вам не поможет. Вы сами нарушаете закон обходя ограничение на количество одновременных соединений с 1С. Фактически воруете у 1С.
Elisy .Net Bridge самостоятельно не предоставляет функциональности прямого доступа к данным. Для облегчения генерации DBML-файла была создана внешняя обработка Elisy.LinqTo1CSql.81.epf для 1С:Предприятие. Поставляется она в составе с Elisy .Net Bridge SDK, так как обращается к функциональности .Net framework из 1C:Предприятие.
Взято из .
Похоже что именно вы представляете инструменты обхода лицензий 1С.
Я не первый год в этой теме и хорошо знаю достониства существующих ВК, врапперов и их недостатки. Кроме того работаю с реальными клиентами, которые далеко не новички в .Net, C# и 1С. Исходя из этого, я по достониству горжусь продуктом .Net Bridge за его оригинальную архитектуру и возможности. В технические детали вдаваться не буду - найдите в поисковиках по запросу "Elisy .Net Bridge".
Что за обвинения? Я ничего не должен 1С, также как и 1С не должна мне.
Elisy .Net Bridge продвигает 1С, добавляя в нее функциональность. В этом и в большинстве наши взгляды с компанией 1С совпадают. Но взгляды могут и расходиться. Примером этому является прямое обращение к данным. Почитайте законы и поймете, в чем. И я не имею ввиду Закон о правах потребителя, а речь идет ГК РФ.
Для вашего сведения MS SQL Server не принадлежит 1С никоим образом - это продукт совершенно другой компании Microsoft. И обращаться к БД MSSQL я буду таким образом, каким посчитаю нужным. А ваши выкрики сейчас сродни "пользователи Linux воруют у Microsoft, потому что не ставят ОС Windows" или "пользователи солнечных батарей воруют у ЭС, обходя стороной их услуги". И заметьте, что я не послал вас после всего сказанного вами только потому, что настроение у меня сегодня хорошее и продолжаю надеяться, что вы одумаетесь и любые обвинения будете подтверждать фактами. Согласитесь, что обвинения в воровстве - серьезные обвинения.
Я не обхожу лицензии 1С - я обращаюсь к MSSQL и читаю данные, собственником которых я являюсь по Закону, наиболее удобным мне способом. Почувствуйте разницу. Мир не сошелся клином на 1С - есть масса других достойных решений.
РВ = Новый COMОбъект("VBScript.RegExp");
РВ.Pattern = Шаблон;
try
myMatches = РВ.Execute(Текст);
except
message("Error occurred while executing regexp: "+ErrorDescription()); return;
endtry;
ClearMessages();
if myMatches.Count = 0 then message("No matches was found");return; endif;
For Each myMatch in myMatches do
Message("Finded: '"+myMatch.Value+"'");
if myMatch.SubMatches.Count>0 then
for each sub in myMatch.SubMatches do
Message(" Sub: '"+sub+"'");
enddo;
endif
enddo;
// Замечание - русские буквы не подпадают под \w, их надо указывать как [А-я]
Хотя бесспорно, что в .NET есть ооочень много интересных возможностей... К счастью многое есть уже в 1С 8 (веб,хмл,хтмл,изображения,сжатие,DOM,диаграммы и т.д.). Вот для 7.7 было бы актуально, но там уже итак понаписано дополнений
AttachAddIn("AddIn.ElisyNetBridge");
AddIn = New("AddIn.ElisyNetBridge");
net = AddIn.New("Elisy.NetBridge", "Elisy.ElisyNetBridge");
emailregex = net.New("System.Text.RegularExpressions.Regex", "(?<user>[^@]+)@(?<host>.+)");
А как установить свойства Multiline и IgnoreCase одновременно? Пока получается использовать только какое то одно из свойств.
//Преобразовать в числовой тип и выполнить суммирование в 1С
regexOptions = net.CallStatic("System.Convert", "ToInt32", net.New("System.Text.RegularExpressions.RegexOptions").IgnoreCase);
regexOptions = regexOptions + net.CallStatic("System.Convert", "ToInt32", net.New("System.Text.RegularExpressions.RegexOptions").Multiline);
regexOptions = regexOptions + net.CallStatic("System.Convert", "ToInt32", net.New("System.Text.RegularExpressions.RegexOptions").CultureInvariant);
//Преобразование числа обратно в Enum
types = net.CallStatic("System.Enum", "ToObject", net.New("System.Text.RegularExpressions.RegexOptions").GetType(), regexOptions);
{Форма.Форма(1311)}: Ошибка при вызове метода контекста (get_Item): Произошла исключительная ситуация (Elisy.NetBridge.dll): System.MissingMethodException: Не найден метод "System.Text.RegularExpressions.MatchCollection.get_IsReadOnly".
в System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
в System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args)
в Elisy.ElisyNetBridge.InvokeMethod_Internal(Object instance, String method, Object[] args)
в CDispatchExWrapper.InvokeEx(CDispatchExWrapper* , Int32 id, UInt32 lcid, UInt16 wFlags, tagDISPPARAMS* pdp, tagVARIANT* pVarRes, tagEXCEPINFO* pei, IServiceProvider* pspCaller)
ИндексОкончания = РезультатПоискаОкончания.get_Item(индекс).Index + РезультатПоискаОкончания.get_Item(индекс).Length;
по причине:
Произошла исключительная ситуация (Elisy.NetBridge.dll): System.MissingMethodException: Не найден метод "System.Text.RegularExpressions.MatchCollection.get_IsReadOnly".
в System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
в System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args)
в Elisy.ElisyNetBridge.InvokeMethod_Internal(Object instance, String method, Object[] args)
в CDispatchExWrapper.InvokeEx(CDispatchExWrapper* , Int32 id, UInt32 lcid, UInt16 wFlags, tagDISPPARAMS* pdp, tagVARIANT* pVarRes, tagEXCEPINFO* pei, IServiceProvider* pspCaller)
Строка кода 1С:
ИндексОкончания = РезультатПоискаОкончания.get_Item(индекс).Index + РезультатПоискаОкончания.get_Item(индекс).Length;
Причем довольно много итераций (код выполняется в цикле) ошибки не появляется, это ограничения ознакомительной версии?
При отладке в 1С, такое свойства как Index иногда принимает значение COMОбъект.
Если РезультатПоискаОкончания.get_Item(индекс) <> Неопределено Тогда
ИндексОкончания = РезультатПоискаОкончания.get_Item(индекс).Index + РезультатПоискаОкончания.get_Item(индекс).Length;
КонецЕсли;
Если использовать внешние веб сервисы, подключаемые к бд через linq с запросами к базе написанными на встроенном языке 1с, будет ли это нарушение прав? Ведь, по сути создаются и используются методы 1с.
Если использовать внешние веб сервисы, подключаемые к бд через linq с запросами к базе написанными на встроенном языке 1с, будет ли это нарушение прав? Ведь, по сути создаются и используются методы 1с.
Нет, вы что-то путаете. Elisy .Net Bridge и Elisy LinqTo1C - разные продукты. У Elisy .Net Bridge статус 1С:Совместимо, внутри продукт не использует прямой доступ к данным.
Прямой доступ же к данным не является нарушением законодательства. Потому что методы, способы не являются объектами авторского права, так как не несут в себе элемента творчества.
Elisy .Net Bridge продвигает 1С, добавляя в нее функциональность. В этом и в большинстве наши взгляды с компанией 1С совпадают.
Тут я с вами согласен.
Но взгляды могут и расходиться. Примером этому является прямое обращение к данным. Почитайте законы и поймете, в чем. И я не имею ввиду Закон о правах потребителя, а речь идет ГК РФ.Для вашего сведения MS SQL Server не принадлежит 1С никоим образом - это продукт совершенно другой компании Microsoft. И обращаться к БД MSSQL я буду таким образом, каким посчитаю нужным
1 - Я не проживаю в РФ, но прекрасно осведомлён о ГК РФ. (так же знаком со многими прецедентами его использования в РФ)
2 - Как только вы используете Elisy.LinqTo1CSql вне 1С системы вы будете нарушать лицензионное соглашение, а так же нарушите авторское право 1С. (в законодательстве о правах потребителя есть несколько статей которые вам дают возможность прямо использовать SQL но если у вас количество соединение с SQL базой превысит количество ключей вы попали на не хилую сумму + под статью УК ФР)
А ваши выкрики сейчас сродни "пользователи Linux воруют у Microsoft, потому что не ставят ОС Windows" или "пользователи солнечных батарей воруют у ЭС, обходя стороной их услуги".
Ну тут вы слегка теряете связь с реальностью. Мы немного о других вещах говорим.
1 - Оскорбление не менее серьёзны. В преть прежде чем кого-то посылать или говорить "... я не послал вас после всего сказанного вами только потому ..." подумайте насколько это выглядит красиво.
2 - Я вас предупредил (и не только вас) что используя некоторые возможности вашей библиотеки вы легко нарушите УК РФ.
PS а зачем нужна Elisy.HwndHost.dll ?
Elisy.LinqTo1CSql и ее использование никоим образом не нарушает лицензионное соглашение 1С и каких-либо законов. На входе обработки - метаданные, полученные средствами 1С, на выходе dbml- и cs- файлы. Прямой доступ обеспечивают встроенные в .Net framework механизмы LINQ. Вам следует обратиться с официальным письмом в Microsoft, чтобы запретили свои фичи обращения к MSSQL.
Я не призываю, мало того - являюсь противником, при использовании выходных файлов Elisy.LinqTo1CSql в Asp.Net или .Net-приложении превышать разрешенное число подключений к MSSQL. Но подчеркиваю - это двухстороннее дело компании Microsoft и конечного пользователя, а то что между ними происходит не должно волновать компанию 1С.
Если ведете предметный разговор, то, пожалуйста, указывайте ссылки на конкретные статьи законов с цитатами, как это сделал я в статье, упомянутой вами, а не грозите "страшной карой".
Это то новое, что дает неоспаримое преимущество .Net Bridge по отношению к традиционным ВК. Судя по началу нашего диалога можно предположить, что вы работник прокуратуры, ищущий состав преступления в моих действиях. В Elisy.HwndHost.dll ничего противозаконного тоже нет. Думаю, оно вам не пригодится.
Сервер 1С 8.2 может работать на линукс системах. А 8.3 и клиент на линуксе написали.
Как какой же может быть тогда .NET ? Проект Mono отстаёт от развития .NET на Windows и даже не гарантирует работоспособность.
Получается что можно убить кучи времени, разработать множество красивых и очень функциональных вещей (обработок, функционал и т.д.), а вот захочет клиент сервер на линуксе (клиент-серверная архитекрута) и всё. Только "&НаКлиенте" будет работать и ни каких поблажек серверу.
Ведь намного выгоднее организовать, для конфигураций на управляемых формах, сервер на линуксе и работать через браузер.
И даже если сервер делать на Windows, то, например, Silverlight применить не получится, так как, как я помню, только под IE он работает, а популярность Google Chrome и Mozilla Firefox нельзя не учитывать (именно в данном контексте)
Если подытожить, то у меня складывает мнение, что это здорово, функционально и удобно, но не оптимально для полномасштабного использования в конфигурации.
Спасибо за комментарий. Кроссплатформенность для 1С сейчас - это миф. Windows для 1С будет еще актуальным лет 10-20 вот по каким причинам:
1. Все предыдущие версии до 8.3 были прочно завязаны на Windows из-за слабой поддержки Linux. Значит за все серверные и клиентские ОС деньги уплачены и нет никакого смысла переводить ОС на Linux. Значит теоретически если будут появляться Linux-сервера или клиенты, то для новых компаний.
2. Многие предприятия все еще работают на 7.7 и только думают о переходе на 8.х. Соответственно они будут работать на Windows. Связано это с консерватизмом бухгалтеров, соответственно и ОС они будут менять с неохотой.
3. Все внешние компоненты до этого, например, популярные драйвера устройств были написаны под Windows. Это значит, что под Linux они не заработают просто так. А портировать их под Linux и поддерживать 2 набора исходных кодов очень ресурсоемко. Портировать же их под браузеры для веб-клиента еще сложнее - это уже 4*2=8 наборов (4 популярных браузера на 2 платформах). Это еще не все - новый стандарт написания внешних компонентов ущербный и по функционалу сильно уступает COM-технологии написания внешних компонент.
4. Доля рынка C# в последнее время неуклонно растет благодаря популяризации .Net framework. Java - конкурент .Net была выкуплена Oracle и коммерциализируется, доля его снижается и будет снижаться.
5. Опыт Запада, по которому движется развитие 1С показывает, что на большинстве средних предприятий преобладают Windows-клиенты и стоят несколько серверов на Windows и Linux.
6. Все 1С-ники осваивали всегда Windows и привыкли работать с ним. Поэтому настройщиков Linux сейчас найти сложно. Даже если все предприятие перейдет на Linux, нужно найти людей, которые будут его конфигурировать и обслуживать. Реально это будет сделать только в крупных городах.
1. Кучи компаний даже не пытались использовать клиент-серверную архитектуру работы 1С. Но это не значит, что нужно программистам быть глупыми и не продумывать выполнения своего кода (в 1С) под такой архитектурой.
А причины не перевода сервера 1С на линукс как раз не дальновидность разработчиков конфигураций и внешних компонент! А если с этим в порядке - то уже не компетентность администраторов. Правильно настроенные линукс сервера позволяют в разы сэкономить на железе самого сервера, а переход на управляемые формы (при хороших админах) позволит провести оптимизацию клиентского места (Windows, Linux, MacOS) под максимальную сетевую производительность.
2. У многих предприятиях и Windows 2000 и ниже бывает и их это устраивает.
На данный момент и переход с 7.7 на 8.х может вызвать море проблем и несовместимость некоторых решений (т.к. программисты игнорируют другие технологии).
Вот из-за совокупности неопределённостей, которые возникнут при обновлении/апгрейде/оптимизации и творится такое на рынке.
Я встречал клиентов, которые готовы выделить не малы деньги, что бы "всё летало реально", а спецов по этому делу нет. Админы не компетентные и положительный результат апгрейда железа, у этих клиентов, вскоре становится в ноль из-за "изобилия мусора". И проблем добавляют программисты 1С, которые поступают, как раз как вы говорите, "а зачем?" и связывают руки уже другим.
3. Если компонент писался в концепции ООП и не делались какие-то платформенные извращения, то содержать версии Windows, Linux, BSD, MacOS и мобильные тоже - становится почти элементарно.
Вот у нас в конторе програмят на Delphi, а Delphi многие функции доступа к данным ОС делает кросплатформеными. Думаю для С++ уже давно есть библиотеки практически абсолютна кросплатформенные.
А тестировать это - тоже элементарно: Unit тесты. Пишешь тесты и использует автоматизированые средства для их проведения. Мы, например, использует TeamCity для этой работы и всё "круто": сам забирает обновления с SVN, сам компилирует, сам тестирует и логирует и собирает кучи статистики.
"Всё придумано до нас" (с) - только пользуйтесь.
4. "Доля рынка" - не показатель. Это маркетинговые войны. Сейчас вообще появились "облака" и мобильные клиенты и Windows Azure и Windows Mobile на них в меньшинстве. "Доля рынка" изменчивый показатель.
5. Опыт запада так же показывает всю мощь SAP и ни какая 1С им не нужна. А SAP кросплатформенный. А 1С, в России, конкуренцию составить некому. Иначе уже со времён версии 5-6 1С была бы кросплатформеной.
6. А все высокопроизводительные сервера работают на BSD и Unix. Колличество специальстов в Linux тоже не мало, просто, в среде программистов 1С их намного меньше (может из-за того, что 7-ка и ниже не работали на линуксах). Если контора, разрабатывающая конфигурацию 1С, хочет не просто "урвать кусок", а сделать конкурентноспособный и долго "играющий", на рынке, продукт - то она, по моему мнению, должна в первую очередь подумать об астрагировании от ОС и от БД, что бы не навязывать клиенту дополнительные расходы.
Если почитать море спецификаций Java EE, то Вы уведите, что программист может абстрагироваться не только от ОС (что даёт Java), не только от БД (за счёт jbdc и ORM), а ещё и от сервера приложения, где его компоненты развёрнуты. Это даёт почти абсолютную волю заказчику ставить ваше приложения на что угодно поддерживающее технологию Java EE, подключать любую БД (хоть XML базы, хоть Access) и, конечно же, ставить всё это на любую ОС.
Вот, по моему мнению, к чему должен стремиться каждый программист прикладного решения. А не становится "винтиком" в маркетинговых войнах.
Вы всё замечательно реализовали и вот поэтому я опасаюсь, что море программистов 1С, используя Ваши разработки, сведут на "нет" все попытки разработчиков платформы 1С сделать её кроплатформенной.
Спасибо за теплые слова о нашем продукте.
Спор о том, кто победит Linux или Windows идет давно, но Windows не стал менее популярным за это время. Мы с вами высказали свои точки зрения. Где-то они совпадают, где-то расходятся.
Мои прогнозы такие - Windows будет актуальным в ближайщее время и 10 лет минимум. А что потом будет - сложно предсказать.
Если бы была возможность развивать продукт .Net Bridge в сторону Linux, мы бы это начали делать. Но в настоящее время 1С не предоставляет технических возможностей, чтобы получить изящное решение (в Native API не поддерживаются объекты наподобие IDispatch да и смешанный код тоже не поддерживается).
Поэтому мы для себя наметили несколько перспективных на наш взгляд направлений, основанных на .Net Bridge:
Из документации
Хотя в 1С:Предприятие 8.2 была анонсирована технология внешних компонент NativeAPI, но пока использовать ее не предоставляется возможным.
А вы собираетесь сделать её поддержку вообще? И в пределах каких сроков? И почему Вы реализовали на неуправляемом С++ библиотеку "Elisy.HwndHost.dll", а "Elisy.NetBridge.dll" не смогли?
И ещё: а для чего нужна библиотека "IPHLPAPI.DLL" ?
И ещё: а для чего нужна библиотека "IPHLPAPI.DLL" ?
Мы работали над поддержкой Native API, но столкнулись с проблемой: Скорее всего возникает LoaderLock. Может и можно было бы найти обходные пути, но исследования решили отложить, так как в Native API не предусмотрена поддержка объектов (как IDispatch в COM). Без этой возможности использование .Net Bridge будет некрасивым (фактически ограничится компиляцией исходного кода C#/VB.Net "на лету" и вызовом оттудастатических методов).
Библиотека Elisy.HwndHost.dll действительно на неуправляемом С++, так как не смогли ее встроить в Elisy.NetBridge.dll. Это уже . Решили оставить их раздельно, так как HwndHost требуется намного реже.
IPHLPAPI.DLL скорее всего нужна при использовании алгоритмов защиты и активации .Net Bridge, поэтому инсталлятор потащил ее за собой по зависимостям.
А можно ещё вопросик?
А как Вы решили проблему с перегрузкой методов? в 1С большинство преобразований примитивных типов происходит "за кадром", а в NET тип параметра очень важен.
Вот Ваш механизм сможет понять, что я делаю или тут, как обычно, "программист сам дурак"? :
public class Klass {
public void Privet(string param1)
{ ... }
public string Privet(Integer param1)
{ ... return "приветики" }
}
В библиотеках NET могут встречаться такие методы и для них потребуются программисту 1С принудительно вызывать "Число(Параметр1)" или "Строка(Параметр1)".
Если это так, то думаю нужно это упомянуть в документации (так же делают такие упоминания в PHP).
По умолчанию работает преобразование на усмотрение .Net Bridge. Например, 1С тип Дата преобразуется в DateTime, строка в String (и наоборот) и т.д.
Если же необходима строгая типизация, то предусмотрен параметр StrictMode класса Elisy.NetBridge.Environment в .Net Bridge 4. В документации этот момент отражен (см. Свойство StrictMode) с примерами для System.Convert.
По поводу "вымирания" Windows есть еще один момент, который всплыл буквально в выходные. На Linux сейчас нет нормального механизма достучаться к 1С извне, как это можно сделать через COM на Windows. А такой механизм часто востребован, например, из Интернет-магазинов.
По поводу "вымирания" Windows...
Нет нет, я не говорил о вымирании Windows. Я лишь подчеркнул нишу, которою занимает windows, о конкурентах и о других нишах IT сферы.
Жалко, конечно, что 1C Native API ещё сыроват. Если он был бы Open Source, то, полагаю, к нему давно бы прикрутили "ноги": ведь все классы 1С уже поддерживают управление памятью через реализацию шаблона интерфейсов microsoft (с её 3-мя обязательными методами) и получается, что для коммуникации клиент-сервера через 1C Native API можно было бы использовать любую технологию (COM, CORBA, HTTP, RMI (T3) и т.п.).
По умолчанию работает преобразование...
Я так и предпологал, т.к. это логично.
Просто я встречал в коде конфигураций 1С 8.2 в некоторых методах принудительное приведение параметров. Т.е. методу без разницы что ему передали, в коде метода просто принудительно приводили параметр к нужному. Т.к. такой код может спокойно "кушать" почти любой тип - то и в других методах программисты не заморачиваются приведением типов для передачи их в такие методы.
Не привыкший к строгой типизации программисты могут очень долго "ловить странные баги" :-))) Я как человек привыкший к строгой типизации долго адаптировался к PHP и 1С. Я до сих пор кое где вставляю шаблон кода, который гарантирует моему методу "правильный" тип параметра.
Немного вдохновлённый Вашим трудом мне тоже захотелось развить такое-же удобное решение, только используя Delphi и/или Java.
Java тоже очень богат различными реализациями разных решений. А в Delphi намного легче взаимодействовать на низком уровне с разными элементами ОС и оборудования.
Жалко, конечно, что 1C Native API ещё сыроват. Если он был бы Open Source, то, полагаю, к нему давно бы прикрутили "ноги": ведь все классы 1С уже поддерживают управление памятью через реализацию шаблона интерфейсов microsoft (с её 3-мя обязательными методами) и получается, что для коммуникации клиент-сервера через 1C Native API можно было бы использовать любую технологию (COM, CORBA, HTTP, RMI (T3) и т.п.).
Задумавшись о ваших комментариях и высказываниях критиков .Net bridge/.Net framework за его несовместимость решили выпустить кроссплатформенное решение для Java/Mono/.Net framework:
Как и .Net bridge новый продукт - это средство интеграции, но работает в противоположном направлении. Позволяет из других платформ получить доступ в 1С.
Документация на странице относится к версии 3. Планируем обновить ее до версии 4.
Были жалобы на открытие страницы от некоторых пользователей. Проблему у себя не смогли воспроизвести - было предположение, что на стороне веб-браузера стоит софт, который режет баннеры.
И можно еще вопрос, не было ли у вас прений с 1с с 2009 года?
Начиная с версии 4.0.20, Elisy .NET Bridge 4 стал бесплатным и не требует активации. Сейчас распространяется через Инфостарт. Более новые версии для .NET 5 и 6 остаются платными.
Почему важен .NET в мире 1С? Каждый 1С-ник задумывается о будущем. Реальность такая, что кроме СНГ, 1С в мире не востребован. Один из рабочих вариантов выхода на международный рынок - это маршрут:
1С => C#+.NET в тренинг-центре EPAM Казахстан или EPAM Кыргызстан (набор открывается в среднем два раза в год) => Английский до уровня B1 => трудоустройство на Junior-позицию в EPAM Казахстан, EPAM Кыргызстан или EPAM Грузия.
На клиенте она работает ок. 32х разрядная вроде 4.0.6
Но есть потребность формирования рисунка по заданным параметрам на сервере (MS конечно) .... ну потому что программа 1С серверная.
И вот на сервере все подвисает. Com+ обертку для 32х разрядной Elisy сделал, но видимо проблема не в этом.
Возможно в том что версия неактивированная (никакого .lic файла рядом с компонентой нет)
Здесь Вы пишите что компонента стала бесплатной.... да можно и даже платную , но сначала надо бы убедится что на сервере 1С Предприятия она запустится (в дерриктиве &НаСервере)
может .Net надо как то особенно установить, патч какой-нибудь?
Ответьте пожалуйста ссылкой на то что можно скачать и убедится.
спасибо.
Можно опробовать платную уже купленную версию. Инструкция есть здесь
Сервер 8.2
net = Новый COMОбъект("Elisy.NetBridge4");
В последнем случае нужно активировать компонент
net.ActivateByMac("XXXXXXXXXXXXXXXXXX",
"00:1A:4D:5C:3E:BC",
"DyAmVOPyNFTaddNK0jA9m");
к сожалению так и не понятно будет ли компонента работать от сервера или нет...
Произошла исключительная ситуация (Elisy.NetBridge.dll): System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
...
и так далее. видимо "XXXXX..." даже не интерпретируется как серийный номер, ок... вариант с "123456789" дает более вразумительны ответ "Invalid serial number / Неправильный серийный номер Parameter name: SerialNumber" что конечно тоже грусть....
Ранее отмечено о существовании компоненты бесплатно, я думал может есть тестовый серийник который работает с мегазадержками например , но позволяет понять возможности....
может все таки есть ??? , напишите в личку, пожалуйста.
Выполнил с правами администратора setup.exe.
При попытке воспроизвести пример с сохранением рисунка на диск возникает ошибка:
Тип не определен (AddIn.ElisyNetBridge)
AddIn = New("AddIn.ElisyNetBridge");
ОС: Windows 10 x 64
1C: 8.3.23 (файловая)
Подскажите, как устранить ошибку при работе компоненты?
Основные причины такой ошибки:
1. Не установлены дистрибутивы Microsoft. Требуются:
а) Microsoft .Net Framework 4.x
б) Microsoft Visual C++ 2015-2019 Redistributable (x64)
2. Клиент 1С должен быть такой же разрядности, что и Elisy .Net Bridge. В данном случае x64
3. .Net Bridge не был корректно установлен или при установке ему не хватило прав.
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 20035
Создание 18.05.09 14:59
Обновление 28.12.24 08:27
Просмотры 49999
Загрузки 285
Рейтинг
43
Комментарии 86
Код открыт Нет
Рубрики Инструментарий разработчика
Кому Разработчик
Тип файла Компонента, плагин (dll, vbs,..)
Платформа 1С:Предприятие 8
Конфигурация Универсальные
Операционная система Windows
Страна Россия
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)