Как выполнить код python в 1с
" - Вывод, - сказал я. - Описанная машинка "ремингтон" в соединении с
выпрямителем, неоновой лампочкой и тумблером не содержит ничего
необъясненного.
- А я? - вскричал старичок.
Роман с Витькой показали мне хук слева, но этого я не мог.
- Нет, конечно. - промямлил я. - Проделана большая работа. (Эдик
схватился за виски.) Я, конечно, понимаю. добрые намерения. (Роман
смотрел на меня с презрением). Ну, в самом деле, - сказал я, - человек
старался. нельзя же так. ("Кретин, - отчетливо произнес Витька, -
Годзилла. ") Нет. Ну что ж. Ну пусть человек работает, раз ему
интересно. Я только говорю, что необъясненного ничего нет. А вообще-то
даже остроумно. "
(с) Сказка о тройке, АБС.
вот если бы кто подсказал прямой кроссплатформенный (работающий на линух сервере) способ слать пост запросы из 1с, вот тогда да.
+(11) блин.. сидел искал цитату.. ты быстрее оказался
Зачем: Адекватное повторное использование кода (библиотеки, классы), имеющиеся в стандарной библиотеке средства работы с регулярными выражениями, SQL и т.п. В перспективе, независимость кода от поколения платформы.
последний пример: Функция ПолучитьИменаПараметровОбласти(Область)
RegExp = Новый COMОбъект("VBScript.RegExp"); // Объект для использования регулярных выражений
RegExp.IgnoreCase = Истина; //Игнорировать регистр
RegExp.Global = Истина; //Поиск всех вхождений шаблона
RegExp.MultiLine = Истина; //Многострочный режим
RegExp.Pattern = "\[.+?\]"; //Ищем строку вида "[sd;fljhas;]"
МассивИмен = Новый Массив;
Если Ложь Тогда
Область = Новый ТабличныйДокумент;
КонецЕсли;
Для СчК = 1 По Область.ШиринаТаблицы Цикл
Для СчС = 1 По Область.ВысотаТаблицы Цикл
ОбластьПоиска = Область.Область(СчС,СчК,СчС,СчК);
Если ОбластьПоиска.Заполнение <> ТипЗаполненияОбластиТабличногоДокумента.Шаблон Тогда Продолжить КонецЕсли;
Matches = RegExp.Execute(ОбластьПоиска.Текст);
Для Сч = 0 по Matches.Count()-1 Цикл
Совпадение = Matches.Item(Сч).Value;
Если МассивИмен.Найти(Совпадение) = Неопределено Тогда
МассивИмен.Добавить(Совпадение);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Возврат МассивИмен;
КонецФункции
+(18) Питон имеет развитые средства работы с кортежами и строками, лаконичный синтаксис.
Процедура ТестАгрегатных()
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Элемент", "Справочник.МойСправочник");
net.ПитонЗадатьЗначение("vt", ТЗ);
Код ;
net.ПитонВыполнить(Код);
ТЗ.ВыбратьСтроку();
КонецПроцедуры
Так же имеется возможность целиком писать внешние компоненты на питоне:
Версия = "AddIn.OnePy45";
ок=ПодключитьВнешнююКомпоненту(Версия);
Если ок=0 Тогда
Предупреждение("Не удалось загрузить компоненту " + Версия);
ЗавершитьРаботуСистемы(0);
Возврат;
КонецЕсли;
net =СоздатьОбъект(Версия);
если net.ПодключитьОсновнойМодуль("framedemo") <> 0 тогда
ЗавершитьРаботуСистемы(0);
конецесли;
(44) Там только одна из возможностей, как видишь. Во встроенном языке многого нет.
(45) историческии сложилось. в последствии выявились плюсы в виде русскоязычной нотации
(56) Да-да, я заметил, стояло в очереди) Вопрос пока окончательно не решен, делать ли платной, или платными будут только ВК на базе этого.
Приходит как-то Вовочка домой, смотрит а на столе записка: "Вовочка! У тебя
завтра экзамен по биологии. Подготовься как следует. Мама." Посмотрел Вовочка на
билеты, которых было штук эдак тридцать, и понял что все ему все равно не
выучить. Решил он выучить только билет про блохи. На следующий день приходит
Вовочка на экзамен. Тянет билет. В нем написано: "Собака". Начинает Вовочка
отвечать:
- Ну, собака это домашнее животное. У него есть голова, ноги четыре штуки,
хвост, шерсть. А в шерсти есть блохи. А блохи. Сидит учитель слушает и понять
не может то ли знает Вовочка материал, то ли нет. Потом говорит:
- Давай Вовочка потяни еще один билет. Тянет Вовочка второй билет. А в нем
написано: "Кот".
- Ну, кот это домашнее животное. А него, как и у собаки, есть голова, четыре
ноги, два уха, хвост, шерсть. А в шерсти тоже есть блохи. А блохи это. Сидит
учитель, смотрит на Вовочку и понять не может вроде и материал он знает, а вроде
и не знает.
- Давай, Вовочка, тяни последний билет. Если ответишь, поставлю тебе 5. Тянет
Вовочка билет, а там написано: "Рыба". Подумал Вовочка немного и начал отвечать.
- Рыба это рыба. Она живет в воде. У нее есть голова, глаза, хвост, плавники,
чешуя. А была бы у нее шерсть - в шерсти были бы блохи. А блохи.
Привет Хабр! Недавно я разработал алгоритм для логистики, и нужно было его куда-то пристроить. Помимо веб-сервиса решено было внедрить данный модуль в 1С, и тут появилось довольно много подводных камней.
Начнем с того, что сам алгоритм представлен в виде dll библиотеки, у которой одна точка входа, принимающая JSON строку как параметр, и отдающая 2 колбэка. Первый для отображения статуса выполнения, другой для получения результата. С web-сервисом все довольно просто, у питона есть замечательный пакет ctypes, достаточно подгрузить нужную библиотеку и указать точку входа.
Выглядит это примерно так:
Как можно заметить, точка входа не совсем читабельная. Чтобы найти данную строчку в скомпилировнанных данных, нужно открыть соответствующий файл с расширением .lib и применить утилиту objdump с параметром -D, в выводе легко можно найти нужный метод по названию.
Данное коверканье метода происходит из-за того, что компилятор манглит («mangle» — калечить) название всех точек входа, причем разные компиляторы «калечат» по разному. В примере указан метод полученный MinGW
В 1С все оказалось гораздо менее тривиально. Для подключения dll нужно, чтобы у нее был специальный интерфейс Native API, позволяющий зарегестрировать Внешнюю Компоненту. Все написал по примеру, но ничего не взлетало. Я подумал, что это из-за gcc. Все мои попытки поставить Visual Studio были провальны, то ничего не устанавливалось, то не хватало стандартных библиотек.
Уже засыпая мне в голову пришла гениальная гипотеза. Наверное данную проблему не могли не оставить питонисты, ведь на Питон разработно все, что вообще возможно. А-ля правило интернета 34, только по отношению к чудесному Python. И ведь я оказался прав!
Для python существует пакет win32com который позволяет регестрировать Python объекты, как COM объекты. Для меня это было какой то магией, ведь я даже не очень понимаю что такое COM объект, но знаю что он умеет в 1С.
Пакет pypiwin32 не нужно ставить с помощью pip, а скачать его установщик, т.к. почему-то объекты не регестрировались после установки pip'ом.
Разобравшись с небольшим примером, я взялся за разработку. Для начала нужно создать Объект с интерфейсом идентифицирующим COM-Объект в системе
и конечно опишем его регистрацию
Теперь при запуске данного скрипта в системе появится объект GtAlgoWrapper. Его вызов из 1С будет выглядеть вот так:
Таким образом, все попадающие в колбэки даные можно будет обработать. Единственное, что может еще остаться непонятным — как передать данные из dll в 1C:
Для успешной работы, в первую очередь требуется вызов python-скрипта, чтобы зарегистрировать класс GtAlgoWrapper, а затем уже можно смело запускать конфигурацию 1С.
Вот так просто можно связать dll библиотеку и 1C с помощью питона, не уползая в сильные дебри.
Всем Магии!
Язык сайта
Рубрики
Свежие записи
- Стихотворение к Пасхе. 23 апреля 2022
- Собака берёт барьер (видео) 22 апреля 2022
- Жилищный дозор. Основные проблемы нашей УК и как я вижу их решение. 11 апреля 2022
- Жилищный дозор. Как «убить» район за зиму… (видео) 9 апреля 2022
- Собака из приюта (видео) 3 апреля 2022
Друзья резиденции
Метки
Архивы
Реклама
-
- 165 788 Просмотра (ов) - 102 034 Просмотра (ов) - 64 824 Просмотра (ов) - 55 359 Просмотра (ов) - 33 082 Просмотра (ов) - 32 516 Просмотра (ов) - 30 720 Просмотра (ов) - 26 341 Просмотра (ов) - 26 329 Просмотра (ов) - 23 776 Просмотра (ов)
Счетчики
Trending
Не перестаю удивляться возможностям Python. И да, я смог немного подружить Python c 1C. По крайней мере тот минимум, который мне был нужен – работал хорошо. Сразу скажу, что зная Python, но не зная синтаксиса 1С – статья с большой вероятностью не сможет вам помочь. Но если вы представляете как устроена конфигурация 1С и знаете как писать запросы к БД на языке 1С – читайте дальше, возможно эта статья будет вам полезной.
Возможно, при современном развитии ПО использовать старую технологию COM, может, и не рационально, но смотря для каких задач. У меня же задача была простая. Мне нужно было вытаскивать определенные данные, хранящиеся в системе 1С, а дальше сравнивать их с внешним источником, или уведомлять пользователей, что они где-то напортачили. Некоторые скажут, что это можно сделать и в 1С. Конечно можно, но я не 1С программист, но зато я умею писать SQL запросы – в 1С синтаксис этих запросов не сильно отличается. Чтобы не ждать, когда у программиста появится время на мои маленькие «хотелки» — я решал поступающие бизнес-задачи на своем уровне. И делал это вполне успешно. А в меняющихся потребностях бизнеса делать фундаментальные запросы к программисту 1С, порой просто не рентабельно.
Разобраться с подключением к 1С из Python через Com мне помогла статья «Моя интеграция с 1С»
В итоге я написал вот такой маленький модуль, который использовал в дальнейших своих маленьких скриптах:
Теперь пройдемся по основным блокам модуля. В объекте oneC я создал несколько методов и атрибутов, которые я использовал для всех своих программ. Этот модуль — единая точка входа для обмена данными через Python.
Метод класса для подключения к БД.
Переменная, которая хранит строку подключения. В ней нужно указать данные своей базы 1С.
Смысл этой строчки не очень мне понятен – оставил как в исходнике.
Метод класса для получения результатов SQL запроса. В переменную «querytxt» передается SQL запрос на языке 1C.
Передаем запрос в 1С.
Выполняем запрос и сохраняем результат в атрибут класса self.query – из этой переменной уже достается результат SQL запроса.
Метод класса, возвращает уникальный ключ элемента данных в 1С по ссылке на объект данных в 1С (вдруг кому-то пригодится, как это пригодилось мне).
Теперь о том как использовать этот маленький модуль. Тут все просто – предназначен он для получения данных из SQL запроса. Поэтому сначала пишем запрос, например такой:
Создаем экземпляр класса, инициализируем подключение к модулю и к 1С:
После успешного подключение появится строчка:
Передаем запрос в 1С
в атрибуте c.query_result будет результат запроса, который будет храниться как объект приблизительно вот в таком виде:
Code | Name | |
Line 1 | Code 1 | Name 1 |
Line 2 | Code 2 | Name 2 |
… | … | … |
Line N | Code N | Name N |
Если в текстовом запросе (переменная q) не создавать латинского алиаса, то данные в результатах запроса будут храниться в оригинальных названиях столбцов, т.е. если
То в c.query_result данные будут в таком виде:
Код | НаименованиеПолное | |
Line 1 | Code 1 | Name 1 |
Line 2 | Code 2 | Name 2 |
… | … | … |
Line N | Code N | Name N |
В обоих случаях сами данные в Python можно вытащить. К сожалению, мне известен только один способ вытащить сами данные — путем перебора всех строчек объекта, хранящегося в атрибуте c.query_result в цикле while, а именно вот так:
Как видно из кода – получение значения ячейки происходит в каждой итерации построчно обращаясь к столбцу по его имени – в конкретном примере по Алиасу, т.к. он был указан в исходном запросе. А если его не было — прямо по русскому названию столбца из 1С, да, так тоже будет работать:
Далее, думаю, понятно как с этим работать. Думаю, при желании можно даже ежемесячно вытаскивать данные по продажам и крутить их в Pandas. Эх, жалко в ближайшее время у меня не будет под рукой 1С -–хотел сравнить что работает лучше: Python+1C+Pandas или 1С+PowerBI?
В целом мой модуль меня устраивал. Из минусов – долгое установление соединения с 1С по COM, особенно если ты сам подключаешься к корпоративной сети по VPN. Вот когда соединение установлено – данные достаются уже быстрее.
Да, модуль не большой, но функциональный – его можно обвешивать дополнительными возможностями. Думаю, даже можно добавить методы, которые смогут и обновлять данные в 1С – у меня просто таких потребностей не было.
Несмотря на простоту кода, скопировав его к себе в программу, при попытке запуска у вас могут возникнуть проблемы.
Вот самые распространённые проблемы и их решения:
- Ошибка: (-2147221005, ‘Недопустимая строка с указанием класса’, None, None)
Решение: определяем какой версии клиент используется при подключении к интересующей нас БД 1С. Регистрируем библиотеку следующим образом:
Нажмите на Win+R, в появившемся окне «Выполнить» введите следующую строку (возможно потребуются права администратора):
C:\Windows\SysWOW64\regsvr32 «c:\Program Files(x86)\1cv8\8.3.12.1469\bin\comcntr.dll»
Где вместо 8.3.12.1469 нужно указать нужную вам версию 1С клиента
Природа ошибки: ошибка в строке подключения – не корректно указаны данные сервера, базы данных, или логина с паролем
Решение: в моём случае проблема была в логине – я сделал себе в 1С обычный логин в дополнение к доменной учетной записи и использовал её – главное, чтобы в логине не было пробелов. Вот как раз из-за пробела у меня и вылетала эта ошибка.
" - Вывод, - сказал я. - Описанная машинка "ремингтон" в соединении с
выпрямителем, неоновой лампочкой и тумблером не содержит ничего
необъясненного.
- А я? - вскричал старичок.
Роман с Витькой показали мне хук слева, но этого я не мог.
- Нет, конечно. - промямлил я. - Проделана большая работа. (Эдик
схватился за виски.) Я, конечно, понимаю. добрые намерения. (Роман
смотрел на меня с презрением). Ну, в самом деле, - сказал я, - человек
старался. нельзя же так. ("Кретин, - отчетливо произнес Витька, -
Годзилла. ") Нет. Ну что ж. Ну пусть человек работает, раз ему
интересно. Я только говорю, что необъясненного ничего нет. А вообще-то
даже остроумно. "
(с) Сказка о тройке, АБС.
вот если бы кто подсказал прямой кроссплатформенный (работающий на линух сервере) способ слать пост запросы из 1с, вот тогда да.
+(11) блин.. сидел искал цитату.. ты быстрее оказался
Зачем: Адекватное повторное использование кода (библиотеки, классы), имеющиеся в стандарной библиотеке средства работы с регулярными выражениями, SQL и т.п. В перспективе, независимость кода от поколения платформы.
последний пример: Функция ПолучитьИменаПараметровОбласти(Область)
RegExp = Новый COMОбъект("VBScript.RegExp"); // Объект для использования регулярных выражений
RegExp.IgnoreCase = Истина; //Игнорировать регистр
RegExp.Global = Истина; //Поиск всех вхождений шаблона
RegExp.MultiLine = Истина; //Многострочный режим
RegExp.Pattern = "\[.+?\]"; //Ищем строку вида "[sd;fljhas;]"
МассивИмен = Новый Массив;
Если Ложь Тогда
Область = Новый ТабличныйДокумент;
КонецЕсли;
Для СчК = 1 По Область.ШиринаТаблицы Цикл
Для СчС = 1 По Область.ВысотаТаблицы Цикл
ОбластьПоиска = Область.Область(СчС,СчК,СчС,СчК);
Если ОбластьПоиска.Заполнение <> ТипЗаполненияОбластиТабличногоДокумента.Шаблон Тогда Продолжить КонецЕсли;
Matches = RegExp.Execute(ОбластьПоиска.Текст);
Для Сч = 0 по Matches.Count()-1 Цикл
Совпадение = Matches.Item(Сч).Value;
Если МассивИмен.Найти(Совпадение) = Неопределено Тогда
МассивИмен.Добавить(Совпадение);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Возврат МассивИмен;
КонецФункции
+(18) Питон имеет развитые средства работы с кортежами и строками, лаконичный синтаксис.
Процедура ТестАгрегатных()
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Элемент", "Справочник.МойСправочник");
net.ПитонЗадатьЗначение("vt", ТЗ);
Код ;
net.ПитонВыполнить(Код);
ТЗ.ВыбратьСтроку();
КонецПроцедуры
Так же имеется возможность целиком писать внешние компоненты на питоне:
Версия = "AddIn.OnePy45";
ок=ПодключитьВнешнююКомпоненту(Версия);
Если ок=0 Тогда
Предупреждение("Не удалось загрузить компоненту " + Версия);
ЗавершитьРаботуСистемы(0);
Возврат;
КонецЕсли;
net =СоздатьОбъект(Версия);
если net.ПодключитьОсновнойМодуль("framedemo") <> 0 тогда
ЗавершитьРаботуСистемы(0);
конецесли;
(44) Там только одна из возможностей, как видишь. Во встроенном языке многого нет.
(45) историческии сложилось. в последствии выявились плюсы в виде русскоязычной нотации
(56) Да-да, я заметил, стояло в очереди) Вопрос пока окончательно не решен, делать ли платной, или платными будут только ВК на базе этого.
Приходит как-то Вовочка домой, смотрит а на столе записка: "Вовочка! У тебя
завтра экзамен по биологии. Подготовься как следует. Мама." Посмотрел Вовочка на
билеты, которых было штук эдак тридцать, и понял что все ему все равно не
выучить. Решил он выучить только билет про блохи. На следующий день приходит
Вовочка на экзамен. Тянет билет. В нем написано: "Собака". Начинает Вовочка
отвечать:
- Ну, собака это домашнее животное. У него есть голова, ноги четыре штуки,
хвост, шерсть. А в шерсти есть блохи. А блохи. Сидит учитель слушает и понять
не может то ли знает Вовочка материал, то ли нет. Потом говорит:
- Давай Вовочка потяни еще один билет. Тянет Вовочка второй билет. А в нем
написано: "Кот".
- Ну, кот это домашнее животное. А него, как и у собаки, есть голова, четыре
ноги, два уха, хвост, шерсть. А в шерсти тоже есть блохи. А блохи это. Сидит
учитель, смотрит на Вовочку и понять не может вроде и материал он знает, а вроде
и не знает.
- Давай, Вовочка, тяни последний билет. Если ответишь, поставлю тебе 5. Тянет
Вовочка билет, а там написано: "Рыба". Подумал Вовочка немного и начал отвечать.
- Рыба это рыба. Она живет в воде. У нее есть голова, глаза, хвост, плавники,
чешуя. А была бы у нее шерсть - в шерсти были бы блохи. А блохи.
Поступила задача от руководства сделать парсер сайтов с сохранением результатов в 1С. Парсер сайтов принял решение писать в python, благо его компоненты позволяют сделать парсер с минимальными затратами. Но нормальной связки python + 1С во всемирной сети я не нашел. Поэтому решил сделать через PostgreSQL, так как в postgres поддерживается python. Обработка тестировалась на платформе 1С 8.3.17.1549.
1. Для того чтобы определить, какая версия python совместима с postgres, идем по пути «C:\Program Files\PostgreSQL\13\doc».
В папке нас интересует файлик installation-notes.html
В файле указана версия python, совместимая с сервером.
2. Собственно скачиваем и устанавливаем python.
Python устанавливаем в корень диска C
3. Для подключения python к postgresql нужно в папке «C:\Python37» взять dllку « python3.dll » скопировать ее в «C:\Program Files\PostgreSQL\13\lib» и переименовать ее в python37.dll .
4. Если вы только установили PostgreSQL и pgAdmin 4 не хочет открываться, pgadmin можно установить в python.
Сервер админа запускается командой « pgadmin4 »
Если не хочется вводить пароль и логин, то в файле config.py значение SERVER_MODE устанавливаем False.
5. Включаем поддержку языка python
В pgADmin запускаем редактор SQL
В переменных PYTHONHOME и PYTHONPATH указываем путь до папки с python. Перезагружаем компьютер, пробуем опять выполнить запрос CREATE LANGUAGE plpython3u.
6. Создаем хранимую процедуру.
Sys.path.append() устанавливает рабочий каталог для скриптов python.
В рабочем каталоге создаем файл testy.py с функцией tests.
В SQL редакторе выполним запрос SELECT public.test()
Если все правильно сделали, то увидите в результате выполнения строку «Внешний скрипт»
7. Настраиваем драйвер ODBC
8. Создаем внешнюю обработку с процедурой на клиенте.
И если нет ошибок, получаем строку (Внешний скрипт) из скрипта на python, как показано на принтскрине выше.
Специальные предложения
>>> "Поступила задача от руководства сделать парсер сайтов с сохранением результатов в 1С."
В статье нет решения основной задачи, кроме как запуск питонячего скрипта через постгрес. Можно скрипт запустить и через
Пункт 3 данной инструкции не нужен. Шаманство какое то :)
Пункт 5 Добавить в переменные среды PATH путь к питону. В нашем случае C:\Python37 Перезагружаем компьютер.
Проверено на Windows 2008; postgresql12.5-3.1C; Python 3.7.9
Можно в ручную Питон не устанавливать. По окончании установки, предлагается запустить установщик дополнительных компонентов stackbuilder. Отмечаем "EDB Language Pack v1.0-5". Будет установлен Python 3.7.4 в каталог C:\edb\languagepack\v1\Python-3.7\ Прописываем этот путь в переменную среды PATH и поддержка языка включается без третьего "шаманского" пункта.
Проверено на Windows 2019; postgresql12.5-3.1C
Не разу не спорю. В данной статье я показал вариант связки, как на мой взгляд более удобный. И скрипт скрипту рознь, загружать кодом обработку не очень хочется, а основной функционал вывести в хранимую функции как-то поинтересней. А про парсер будет отдельная статья.
Просмотры 5061
Загрузки 2
Рейтинг 12
Создание 08.02.21 10:00
Обновление 08.02.21 10:00
№ Публикации 1379038
Конфигурация Не имеет значения
Операционная система PostgreSQL
Страна Россия
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Да
Курс представляет собой отработанные и проверенные личным опытом основателей Школы инструменты решения вопросов с подчиненными, коллегами, заказчиком и руководством.
См. также
Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо
Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.
2 стартмани
30.06.2020 11195 100 XilDen 15
Сервис push-уведомлений для 1С (Push Notification Service For 1C - PNS4OneS)
1 стартмани
02.02.2022 4579 18 ltfriend 5
Создание интерактивных обучающих курсов с помощью Vanessa Interactive
Приветствую Вас, коллеги. Сегодня Вам предлагается рассмотреть технологию создания интерактивных обучающих курсов, системы Onboarding, интерактивной справки для любых конфигураций разработанных на базе платформы 1С при работе в web клиенте. Прошу посмотреть ролик, кому неинтересно, как это работает, можно дальше не читать. Тестировалось на 1С:Предприятие 8.3 (8.3.20.1646).
1 стартмани
02.02.2022 3258 0 Viktor_Ermakov 2
Универсальный метод, html шаблоны, страницы с авторизацией и без, многоязычность, страница авторизации, etc.
1 стартмани
22.01.2022 4431 7 vl-sher1 29
Модуль обмена с QIWI Промо
Компании, которые используют систему моментальных платежей QIWI, ценят ее за удобство по скорости выплат и для платежей по запросу. Но такие переводы сложны для учета, а при большом объеме проводимых операций отнимают много времени и превращаются в дополнительную головную боль. Мы сотрудничали с компаниями, которые отправляют большое количество платеже на QIWI, и часто слышали боль бухгалтеров о том, как им сложно работать с такими переводами. Поэтому мы автоматизировали выплаты через QIWI в 1С и создали модуль интеграции 1С c API QIWI Wallet и QIWI TopUp.
5 стартмани
25.05.2020 10658 1 Neti 10
Расширение конфигурации для Web-доступа к 1С (1С в роли back-end)
Для реализации того, чтобы 1С формировала и отдавала страницу, которую можно было бы открыть через браузер было написано расширение, которое позволяет публиковать из 1С произвольные ресурсы, будь то API, сайт или изображения / прочие файлы.
1 стартмани
01.04.2021 11864 13 SaschaG 4
Работа с картами в 1С на примере бесплатной библиотеки Leaflet
Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.
1 стартмани
31.03.2021 14969 49 Parsec1C 18
1 стартмани
24.03.2021 10671 17 ltfriend 12
BIM: взаимодействие с платформой Autodesk Forge Промо
Предлагаемый пример демонстрирует широкие возможности для взаимодействия «1С:Предприятие» с платформой Autodesk Forge и позволяет вам получить базовые представления о применения технологий информационного моделирования в строительстве. Поддерживаются все версии платформы от 8.3.12 и выше до 8.3.18.
1 стартмани
25.11.2020 58157 13 kandr 3
Загрузка данных о продажах ОЗОН из API Ozon и Отчетов в формате *.xlsx в документ "Отчет комиссионера"
Обработки предназначены для следующих конфигураций: Бухгалтерия предприятия, редакция 3.0; Управление нашей фирмой, редакция 1.6; Управление торговлей, редакция 10.3; Управление торговлей, редакция 11; Комплексная автоматизация 2; ERP Управление предприятием 2
Читайте также: