Кэширование COM-соединения. Три способа

Публикация № 182414

Разработка - Практика программирования

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

Предисловие

Решали ли Вы задачи интеграции на платформе 1С:Предприятие? Если да, то Вам наверняка приходилось настраивать обмен данными между информационными базами 1С:Предприятия или с другими информационными системами через COM-соединение. С ростом интенсивности использования подобного обмена начинает вставить вопрос оптимизации - сокращение времени на выполнение обмена или даже создания обмена в реальном времени. 

В подобных условиях использовать COM-объект соединения становится проблематичным, ведь при каждом подключении к другой базе он полностью загружает конфигурацию. А если в качестве конфигурации выступает, скажем, "Управление производственным предприятием", где размер конфигурации давно превысил 200 МБ? Тогда время на инициализацию соединения будет значительным. А использовать COM-соединение для обмена по "тонким" каналам связи будет вообще не возможно!

В статье рассмотрим три способа кэширования COM-объекта соединения с целью оптимизации скорости подключения и обмена.

 

Подробнее

Для наглядного представления путей решения подобной задачи обратимся к следующей схеме:

Три способа кэширования COM-соединения

Самым простым, но наименее универсальным является способ кэширования объекта соединения в глобальной переменной модуля формы. Такой способ подойдет, если COM-соединение используется редко в какой-либо обработке или другом объекте конфигурации. Для постоянного использования соединения этот способ вряд ли подойдет, ведь при открытии формы будет необходимо вновть инициализировать соединение, что займет значительное время из-за загрузки конфигурации подключаемой базы. Практический пример использования такого способа Вы можете посмотреть в статье "Поддержка COM-соединения. Часть №1".

 

В противовес первому способу по сложности предлагается кэшировать COM-соединение на отдельной машине, веб-сервере. Например, можно создать веб-сервис, который будет инициализировать соединение через COM-объект при первом обращении. Далее подключаемые к веб-сервису клиенты смогут работать с кэшированным соединением, выполняя все необходимые методы объекта. С точки зрения производительности и экономии лицензий сервера 1С:Предприятия это идеальный вариант, но его выбор обоснован только в том случае, если в дальнейшем работа с этим соединением будет интенсивным. Иначе получится, что мы поставим купим и настроим отдельную машину с веб-сервером, который будет кэшировать соединение для нескольких пользователей. А это не рационально. Статью о практической реализации такого способа кэширования COM-соединения Вы можете посмотреть здесь: "Поддержка COM-соединения. Часть №2".

 

Но что, если использоваться COM-соединение будет часто, но не настолько, чтобы тратиться на реализации последнего предложенного варианта, при этому использовать глобальные переменные модуля формы также не вариант - соединение должно кэшироваться не для одной формы, а для нескольких объектов (обработка, отчет, документ). Тогда более правильнее было бы использовать вариант "золотой середины" - кэшировать соединение во временном хранилище в рамках каждого отдельного сеанса, которому это соединение необходимо. Этот вариант действительно подходит для большинства возникающих подобных задач. Небольшой пример его использования продемонстрирован в статье "Поддержка COM-соединения. Часть №3. Золотая середина".

 

Заключение

Использование COM-соединение для интеграции прикладных решений на платформе 1С:Предприятие между собой и с другими программными продуктами позволяет решать сложнейшие задачи по созданию единой информационной системы предприятия. 

Надеюсь, что статья поможет Вам найти решение по оптимизации работы COM-соединения и совершенствовании интеграции на Вашем предприятии.

 

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Sergoninfostarru 2 11.04.13 23:47 Сейчас в теме
COM-соединение хорошо использовать при пакетных задачах : перетяжка справочников, документов, остатков и т.д., когда за ОДНО соединение вытягивается максимум информации. В случае постоянного "дёргания" данных из другой БД, скорость значительно снижается. В примерах показан простой вариант, а когда дело доходит до документов, то скорость резко падает.
2. YPermitin 8360 12.04.13 05:36 Сейчас в теме
(1) Sergoninfostarru, возможно Вы правы.

При решении реальной задачи с помощь COM-соединение передаю двоичные данные. Работает быстро. Единственным узким местом была скорость установки соединения. Вот ее и решили.

А почему для документов скорость медленная?
3. gaglo 12.04.13 11:49 Сейчас в теме
Разве нельзя вместо временного хранилища использовать переменную в модуле приложения? Как раз и получится сохранение в рамках отдельного сеанса.
4. YPermitin 8360 12.04.13 11:53 Сейчас в теме
(3) gaglo, фактически это будет тоже самое, что и хранить в переменной модуля формы.
Да, в рамках сеанса, но на стороне клиента. А последнее отрицательно влияет на стабильность. Мало ли какая у клиента линия связи, а COM-соединение такого ой как не любит =)

К тому же тогда необходимо регистрировать COM-объект соединения на клиентской машине.

А временное хранилище сохранит его на стороне сервера.
11. gaglo 14.04.13 08:27 Сейчас в теме
(4) Ну во-первых, не совсем "то же самое", а именно в рамках сеанса, а не на время жизни открытой формы; во-вторых, если все происходит в локальной сети предприятия, то на клиенте или на сервере хранить - безразлично, в-третьих, приходится еще раз пожалеть, что в рубрикации на сайте нет разделений вроде "управляемые / обычные формы / WEB-приложения" (но это не к автору ;-])
Кстати, для меня не явилось очевидным, что по третьему способу и регистрация COM-соединения проходит на стороне сервера...
12. YPermitin 8360 14.04.13 08:46 Сейчас в теме
(11) gaglo, качество локальной сети тоже бывает разной.

В третьем способе нет очевидности =) К кэшированному соединению на веб-сервере можно обращаться как с клиентской, так и с серверной стороны. Все зависит от прав доступа.
15. gaglo 14.04.13 15:51 Сейчас в теме
(12)
качество локальной сети тоже бывает разной

да простят меня за оффтопик, но это заявление уже напоминает бородатый анекдот:
в сокращении:
- Гиви, вот представь, пошел ты в лес, а навстречу тебе медведь. Что будешь делать?
...
- Ну на дерево залезу.
- А нету дерева.
- Как нету дерева?? Это ведь лес!!
- Ну вот такой лес!!
...
За ответы спасибо. Вашу позицию я понял.
16. YPermitin 8360 14.04.13 16:24 Сейчас в теме
(15) gaglo, может для Вас это и анекдот, но когда сталкиваешься с этим на практике, то становится не до шуток.

200 пользователей, из них у части скорость в локальной сети не блещет стабильностью. Вот тогда будете задумываться о правильной реализации.

А если в локалке 10 юзеров, то смысла кэшировать соединение вообще нету)
17. gaglo 14.04.13 16:55 Сейчас в теме
(16)
200 пользователей, из них у части скорость в локальной сети не блещет стабильностью

...имеет смысл задумываться о построении сети, а не пытаться исправить чужие огрехи???
Да, для меня это анекдот... У нас 120 пользователей одновременно. Три больших здания. Сеть проводная плюс WiFi-сегмент. Скорость стабильна. Две работающих системы. COM-соединения присутствуют. Кэшируются в переменной модуля приложения. Пока работает стабильно.
Я же сказал "Вашу позицию я понял". Спасибо!
26. YanTsys 12 09.12.13 09:52 Сейчас в теме
(15) gaglo, это тот где "- я не понял ты чей друг, мой друг, или медведя друг?"
27. gaglo 09.12.13 11:40 Сейчас в теме
5. a.p.soft 54 12.04.13 15:47 Сейчас в теме
Уважаемые, скажите пожалуйста, а предваряющее обработку чтение всего XLS-файла (точнее всех нужных ячеек, во всех строках) - может считаться кешированием COM-соединения, о котором идет речь в статье? В принципе, учитывая возможные практические проблемы я пришел именно к такому способу работы с COM объектами. Реально, это ускоряет скорость работы обработки в несколько раз. Т.е сначала одним циклом всё считывается в массив, а уже потом обработка "пережёвывает" все данные.
6. YPermitin 8360 12.04.13 18:06 Сейчас в теме
(5) a.p.soft, немного не по теме вопрос. В статье идет речь о кэширования COM-объекта соединения, который используется для связи между собой разных баз или для связи с базой 1С:Предприятия из других программ.
Вот подробнее: http://v8.1c.ru/overview/IntegrationCOM.htm

Вы же говорите о кэшировании любого COM-объекта, в частотности для чтения XLS. В принципе описанный подход тоже подойдет, проблем с этим не вижу. Обратите внимание на первые два способа. Думаю последний с веб-сервером будет излишним, чтобы прочитать файл XLS =)
7. seermak 662 12.04.13 21:18 Сейчас в теме
Все хорошо, но: на платформе 8.3 (хоть в совместимости хоть нет) в процедуре СохранитьСоединение(Соединение) в строке ПараметрыСеанса.АдресCOMСоединения = ПоместитьВоВременноеХранилище(Соединение, Новый УникальныйИдентификатор); = рушится с ошибкой "Переданное значение не может быть помещено во временное хранилище". Можно это как-то пояснить или подсказать (если кто знает)
PS в 8.2 проблем нет
coollerinc; jills2001; +2 Ответить
8. YPermitin 8360 12.04.13 22:41 Сейчас в теме
(7) seermak, интересная информация.

Вообще, согласно документации, во временное хранилище можно помещать только те значения, которые серилизуются. COM-объект соединения (да и вообще любой COM-объект) серилизовать нельзя.

В платформе 8.2 не смотря на это можно было сохранить соединение во временное хранилище. Так сказать, недокументированные возможности платформы.

Ну а в версии 8.3 видимо это дело прикрыли.
9. seermak 662 13.04.13 10:46 Сейчас в теме
Да и еще - если платформа установлена в каталог с русскими буквами - соединения по СОМ невозможны (Проверено на себе (с)seermak)
10. YPermitin 8360 13.04.13 11:44 Сейчас в теме
(9) seermak, странный баг.

А зачем использовали каталог с русскими буквами для этого?
13. petrov_al 10 14.04.13 12:21 Сейчас в теме
А почему не используете внешние источники данных?
14. YPermitin 8360 14.04.13 15:32 Сейчас в теме
(13) petrov_al, они могут использоваться только для чтения данных. Для модификации, увы, не получится использовать в отличии от предложенного варианта.
18. aspirator23 420 19.04.13 07:27 Сейчас в теме
Любопытные варианты. Сам использую, но пока только вариант номер 2.
19. bulpi 173 19.04.13 19:33 Сейчас в теме
"Например, можно создать веб-сервис, который будет инициализировать соединение через COM-объект при первом обращении."

Автор, уж извините за неграмотность, но если Вы уже используете веб-сервер, зачем Вам вообще com-соединение? Ну наваяйте в 1с свой веб-сервис с нужными методами и разом избавитесь от всех проблем с com-соединением.
20. YPermitin 8360 22.04.13 05:39 Сейчас в теме
(19) bulpi, веб-сервис, "наваяеный" в 1С будет использовать клиентские лицензии для каждого подключенного сеанса. Если же мы будем кэшировать COM-соединение на веб-сервере и обращаться через него, то лицензия всегда будет использоваться одна. В этом главное отличие.
31. GreenDragon 16.12.18 15:02 Сейчас в теме
(20) Используйте http-сервисы. Лицензия используется только на время соединения. Как правило, это время при адекватной передаче данных, меньше секунды. По-факту, время необходимое от получения пакета данных вэб-сервером до отправки ответа отправителю. Обрабатывать полученные данные вы можете дальше на сервере без потребления какой-либо клиентской лицензии.
Ваш метод:
1. Не кросплатформенный.
2. Отдельное шаманство в случае нескольких установленных платформ - к примеру, несколько версий 8.3
3. Ресурсоёмкость - по факту запускается полный экземпляр приложения.
4. Нестабильность com - на своём опыте познали прелесть подвисающих com-подключений
5. Лицензия потребляется на время жизни com-объекта.

Да и зачем вот это всё, если у вас же публикация: https://infostart.ru/public/427026/ ?
32. YPermitin 8360 17.12.18 07:41 Сейчас в теме
(31) посмотрите на даты публикации. Уже сколько времени прошло, были ли тогда нормальные HTTP-сервисы :)
GreenDragon; +1 Ответить
33. GreenDragon 17.12.18 09:42 Сейчас в теме
(32) *Стыдливо удаляюсь в кусты, пытаясь оттереть со лба печать "некропостер"*
YPermitin; +1 Ответить
34. YPermitin 8360 17.12.18 23:30 Сейчас в теме
21. galich 150 28.05.13 10:02 Сейчас в теме
Самый примитивный вариант хранения созданного COM-объекта:
Создаем общий клиентский модуль, устанавливаем Повторное использование возвращаемых значений "На время сеанса", создаем функцию, типа этой:

Функция ПолучитьСоединениеСБД(СтрокаПодключения) Экспорт
COM = Новый COMОбъект("V82c.Application");
COM.Connect(СтрокаПодключения);
COM.Visible = Ложь;
Возврат COM;
КонецФункции

И каждый раз, когда нужен COM, обращаемся к ней. Если нужно убить COM - делаем ОбновитьПовторноИспользуемыеЗначения(). Не забываем вызвать эту функцию перед завершением работы системы, а то отладка не будет отпускать сервер. ПРОФИТ :)
Chernik; dgolovanov; Nuuq; tehas; Aleksey.Bochkov; YPermitin; +6 Ответить
22. ZLENKO 06.08.13 13:20 Сейчас в теме
(21) galich, для регламентного задания такой способ подойдет ? В смысле для хранения COM объекта в интервалах между выполнением регламентного задания на сервере ?
24. YPermitin 8360 06.08.13 21:08 Сейчас в теме
(22) ZLENKO.PRO, можно, но только способом, где COM-объект кэшируется на веб-сервере. Тогда его использовать можно из любого сеанса.
23. galich 150 06.08.13 19:56 Сейчас в теме
К сожалению, нет. Разные запуски регламентных заданий в разных сессиях запускаются.
Кроме того, регламентные задания запускаются на стороне сервера, а не клиента.
28. Serginio 817 09.02.16 14:09 Сейчас в теме
Еще один вариант это использование статического поля класса .Net. Так как после загрузки Dll она не выгружается, то и статические поля будут содержать значения пока не выгрузится рабочий процесс
29. =Kollega= 1 16.06.17 16:52 Сейчас в теме
В свое время решал подобную задачу. Проблема была в том, что пользователям время от времени приходилось соединяться с одной базой, для поиска инфы. Кеширования на стороне клиента с одной стороны хорошо, но со стороны лицензий плохо - постоянно не хватало. С другой стороны web-сервера собственного тоже не было, пришлось копать в другую сторону. На Delphi написал собственный простой com-сервер и зарегистрировал его на сервере, где сама 1с-ка крутится. При первом обращении к нему, система его автоматически запускала и он инициировал соединение с удаленной базой. В дальнейшем он просто крутился в памяти сервера, поддерживая com-соединение с базой.
По сути получалось, что ждет только 1-й пользователь, пока установится соединение, остальные получали уже готовое соединение.
GKG; acanta; +2 Ответить
30. intehof 23.06.17 23:22 Сейчас в теме
(29) Если возможно, поделитесь исходниками пожалуйста...
Оставьте свое сообщение

См. также

3 онлайн-курса по 1С-программированию: обмен данными, расчетные задачи и бухгалтерские задачи с 12 мая по 8 июля 2020 г. Промо

Практика программирования v8 Бесплатно (free)

Пакет из 3-х курсов по 1С-программированию. Основная цель - сформировать у слушателей практические навыки, связанные с реализацией задач обмена для прикладных решений, работающих на платформе “1С:Предприятие”, а также с разработкой прикладных решений, предназначенных для автоматизации расчета заработной платы и задач бухгалтерского учета.

22.04.2020    3292    23    infostart    2    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    15340    0    ids79    26    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    15841    0    John_d    22    

Последовательности событий. Шпаргалка

Практика программирования v8 Россия Бесплатно (free)

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    10963    0    kuzyara    33    

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    34269    0    unichkin    45    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    25582    0    Yashazz    45    

Самый примитивный HTTP-сервис в мире

WEB v8 Бесплатно (free)

Пошаговый пример создания простейшего HTTP-сервиса, который генерирует HTML-страницу для поиска товара, а также реализует асинхронное получение данных из базы.

12.09.2019    18339    0    YPermitin    26    

[Шпаргалка] Программное создание элементов формы

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Программное создание практически всех популярных элементов формы.

06.09.2019    35115    0    rpgshnik    62    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    26276    0    tormozit    100    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    37279    0    ids79    52    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    21833    0    YPermitin    24    

Три костыля. Сказ про фокусы в коде

Практика программирования v8 Бесплатно (free)

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    21916    0    YPermitin    80    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.

20.09.2012    73778    0    tormozit    129    

Отслеживание выполнения фонового задания

Практика программирования Универсальные функции Разработка v8 1cv8.cf Бесплатно (free)

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    25845    0    ids79    16    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    56695    0    ids79    37    

Фоновое выполнение кода в 1С - это просто

Практика программирования v8 1cv8.cf Бесплатно (free)

Как легко запускать выполнение в фоне, не прибегая к долгому описанию фоновых процедур.

02.08.2019    26593    0    avalakh    21    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    44840    0    tormozit    38    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    43001    0    ids79    11    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    28744    0    ids79    27    

Регистры сведений. За кулисами

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    21619    0    YPermitin    13    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    40652    0    tormozit    72    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования Разработка v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    16514    0    SeiOkami    50    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    42533    0    ids79    20    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    21516    0    dmurk    144    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    14236    0    m-rv    2    

Регистры накопления. Структура хранения в базе данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    35549    0    YPermitin    30    

Выполнение внешней обработки в фоновом задании

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    24365    0    Eret1k    23    

HTML-клиент у конфигурации 1С

WEB v8 Бесплатно (free)

Приветствую. В этой публикации опишу свой опыт создания html-клиента для конфигурации 1С с помощью http-сервисов. HTML-клиент в этом случае - это frontend (html + css+ js), который генерирует и выдает пользователю конфигурация + backend, который тоже реализован в этой же конфигурации.

17.04.2019    16190    0    Smaylukk    119    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

... и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019    17829    0    m-rv    17    

О расширениях замолвите слово...

Практика программирования Разработка v8 Бесплатно (free)

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    29529    0    ellavs    126    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

Практика программирования Разработка v8 Бесплатно (free)

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    23144    0    ellavs    86    

RabbitMQ + Конвертация Данных 3.0

Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Предлагаем ознакомиться с хронологией проекта, проследить ход мыслей от снятия потребностей до реализации, и решить, удалось ли проектной команде найти оптимальное архитектурное решение под конкретный кейс заказчика путем совмещения двух известных, но до сих пор не пересекавшихся технологий, и получилось ли сложить плюсы и устранить минусы каждой из них.

21.03.2019    22850    0    barelpro    82    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    27490    0    m-rv    21    

Трюки с внешними источниками данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    26610    0    YPermitin    53    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

Практика программирования БСП (Библиотека стандартных подсистем) Роли и права v8 v8::Права Бесплатно (free)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    31652    0    ids79    9    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Вариант решения задач с проведением по типовым регистрам нетиповыми регистраторами. Зачем - чтобы при сравнении конфигурации не обращать внимание на свойства регистров и исключить вероятность допущения горькой оплошности при обновлении информационных баз, заменив типы регистраторов основной конфигурации типами конфигурации поставщика. Для программных продуктов, имеющих в своем составе метаданных документ "Корректировка регистров"("Корректировка записей регистров").

05.12.2017    25792    0    itriot11    34    

Новый подход к обмену данными EnterpriseData

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Хочу предложить Вашему вниманию цикл статей, посвященных обмену данными через универсальный формат (EnterpriseData или ED).

14.12.2018    35257    0    ids79    72    

Программное заполнение пользовательских параметров и отборов СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

13.11.2018    37770    0    Unk92    21    

Создание телеграм бота с гугл авторизацией, обратными вызовами и уведомлениями об обновлении через сервер-маршрутизатор

WEB v8 1cv8.cf Бесплатно (free)

Статья детально рассказывает обо всех аспектах настройки телеграм бота, работающего через сервер-маршрутизатор посредством обратных вызовов. Приведены примеры работы отправки/исправления сообщений, отправки файлов, работы с внутренними и встроенными запросами. Создание клавиатуры. Авторизация пользователей через gmail.

07.11.2018    27016    0    🅵🅾️🆇    57    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    71234    0    Serginio    108    

Произвольный код в фоновом режиме

Практика программирования v8 1cv8.cf Бесплатно (free)

Задача: реализовать выполнение произвольного кода в фоновом режиме без изменения конфигурации, т.е. во внешней обработке.

03.09.2018    24061    0    nikita0832    42    

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C

Математика и алгоритмы Практика программирования v8 Россия Бесплатно (free)

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

23.08.2018    34962    0    Rain88    46    

Повышаем эффективность разработки правил обмена

Практика программирования Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    26194    0    olegtymko    47    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    30715    0    ids79    40    

На что действительно способны HTTP-сервисы

WEB Интеграция v8 Бесплатно (free)

В статье я собираюсь не только рассказать вам про HTTP-сервисы 1С, но и показать много прикольных слайдов с картинками. Я думаю, будет весело, и вы найдете для себя что-то полезное.

14.06.2018    33258    0    dalgaso2010    45    

Введение в механизм представлений в ЗУП ред. 3

Практика программирования v8 v8::СПР ЗУП3.x Бесплатно (free)

В нашей организации на первом же телефонном собеседовании на должность разработчика по ЗУП ред. 3 вас обязательно спросят о том, что такое "Представления".

04.06.2018    34305    0    xrrg    82    

Строим графы средствами 1С (без GraphViz)

Практика программирования v8 Бесплатно (free)

Множество статей на Инфостарте описывают, как работать с компонентой GraphViz, чтобы построить ориентированный граф. Но практически нет материалов, как работать с такими графами средствами 1С. Сегодня я расскажу, как красиво строить графы с минимальным пересечением. Нам этот метод пригодился для отрисовки алгоритмов в БИТ.Финансе, т.к. типовой механизм не устраивал. Еще это может быть полезно для визуализации различных зависимостей: расчета себестоимости, графы аффилированности компаний и т.д. Надеюсь, эта статья поможет сделать мир 1С красивее и гармоничней:) Итак, поехали...

23.05.2018    22920    0    slozhenikin_com    20    

Тестер: частые вопросы Промо

Практика программирования v8 Бесплатно (free)

Ошибкам бой - тесты норма жизни!

25.07.2018    26337    0    grumagargler    26    

Распределение расходов пропорционально продажам

Финансовый учет и бюджетирование (FRP) Учет доходов и расходов Практика программирования Финансовый учет и бюджетирование (FRP) Учет доходов и расходов v8 v8::ОУ УТ10 УУ Бесплатно (free)

Финансовая модель. Распределение административных расходов по подразделениям пропорционально продажам за месяц. Дополнительные реквизиты против бизнес-процессов!

13.05.2018    17044    0    Rustig    9    

Просмотр временных таблиц запроса в отладчике без изменения кода

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

Данный способ можно использовать для просмотра содержимого временных таблиц запросов (менеджеров временных таблиц) без внесения изменений в код.

24.04.2018    43144    0    avfed@rambler.ru    26    

[ВсеПросто] "Оперативный" информатор из 1С за 5 мин.

Практика программирования v8 Бесплатно (free)

Быть всегда в курсе дел, даже в дороге!

22.02.2018    25358    0    DarkAn    25    

Минимализмы 3

Практика программирования Универсальные функции v8 Бесплатно (free)

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    43947    0    ildarovich    45