Имя: Пароль:
1C
 
Кто какую модель ИИ использует в работе?
0 Бешеный заяц
 
18.03.26
09:10
Есть ли до обученные модели под 1С? Может отдельные лора файлы? Сразу вопрос есть у кого-нибудь описание форм xml? у меня ИИ Qwen 3.5 с пятого раза только формы корректно рисует.
113 Garykom
 
гуру
18.03.26
11:53
(109) К этому давно привыкли, это решаемо и риски на это можно заложить
Что и как заложишь с ИИ?
114 Krendel
 
18.03.26
11:54
(110) saas мертво
(111) на 1-2 порядка ошибься
115 Бешеный заяц
 
18.03.26
11:54
(111) нормальную ИИ чтобы запустить нужно денек на мак около 600к, модели которые мельче сильно ограничены
116 Garykom
 
гуру
18.03.26
11:54
(111) Не смешно
Все локально можно крутить только урезанные обученные модели
Обучать или крутить полные самому - нюню
117 PLUT
 
гуру
18.03.26
11:54
(110) ну я х.з. насчет ненадежны? вы старые телевизоры/мониторы на помойку ни разу не относили?

у меня ноут леново года с 2014 бодренько шуршит без намёка на усталость. ххд 1Тб поменял на ссд 1Тб за всё это время. термоинтерфейс не помешало бы еще обновить...
118 Krendel
 
18.03.26
11:54
(113) те же самые риски, те же самые решения
119 Garykom
 
гуру
18.03.26
11:55
(114) Все публичные языковые модели по подписке = SaaS
120 ptiz
 
18.03.26
11:56
Вот не представляю, как ИИ помог бы на моей текущей работе. 90% работы - анализ задачи и продумывание архитектуры решения. Код - вообще последнее дело. 1С - это вам не очередной арканоид писать.
121 Krendel
 
18.03.26
11:55
(116) см (2)
122 Бешеный заяц
 
18.03.26
11:56
(120) хочешь попробую прогнать небольшой таск через ии ради эксперимента?
123 ptiz
 
18.03.26
11:57
Как пример - надо интегрироваться с каким-нибудь маркетплейсом, или ЭДО, или маркировкой. Где тут место для ИИ?
124 Krendel
 
18.03.26
11:57
(120) представь что есть 100 компаний твоей отрасли, думаешь они все на разных принципах работают
125 PLUT
 
гуру
18.03.26
12:15
(119) чойта вдруг? есть куча, которые можно автономно в докер натянуть - зависит от железа

у них (у этих ИИ) гонка есть - к кетайскому новому году все повыпускали новые модели - у кого длиннее письками меряются

я про проект для нищебродов Ollama* чисто конкретно
126 Бешеный заяц
 
18.03.26
11:59
(123) нужны вводные данные, документация от маркет плейса например, источник интеграции итд если есть пришли biilsun81@gmail.com гляну
127 Garykom
 
гуру
18.03.26
11:58
(124) Прикинь, на разных ))
Если думаешь что на одних - у тебя просто опыт сильно ограничен
128 Krendel
 
18.03.26
12:00
(127) естественно ограничен, ведь я общался всего с представителями сотен компаний
129 Garykom
 
гуру
18.03.26
12:00
(128) Общаться и работать внутри разное!
Не знал?
130 Волшебник
 
18.03.26
12:01
(126) Вот тебе документация https://dev.dellin.ru/api/
Источником возьмём типовую УТ. Интегрируйся
131 Krendel
 
18.03.26
12:01
(129) вопросы то одни и те же
132 PLUT
 
гуру
18.03.26
12:04
(131) что делать блин мля и кто блин мля виноват?
133 Garykom
 
гуру
18.03.26
12:06
(131) Так и вы один и тот же, с теми же условиями и предложением ))

Смотри одни не используют Конфигуратор или EDT, тупо сидят на типовых с иногда покупкой расширений и внешних обработко
Другие с одним мастером на все руки, с Конфигуратором и прямо в проде кодят
Другие Конфигураторы и храны
Еще другие EDT c Гит
Некоторые еще и всякие Сонары с Ванессами
А некоторые в СППР ударились
Некоторые допускают удаленку
Другие только строго офис/склад/завод, причем даже инета нет
Да нет совсем инета, даже личные смартфоны отнимают, все в книжках ищи или в локальных базах, на проверенных СБ флешках
134 PLUT
 
гуру
18.03.26
12:06
(114) неа, на алибазаре ускорители есть всякие-разные и банана пи6+ и еще какие-то нонеймы. автономные модельки вполне бодренько уже отвечают. для безумного дома вполне достаточно этим всем безумием локально управлять
135 maxab72
 
18.03.26
12:07
(130) а потом доработать результат для отправки запросов на Байкал Сервис, с учетом того, что Деловые используют переделанный КЛАДР, а Байкал - переписанный ФИАС для ведения базы адресов. И прочие маленькие отличия.
136 Krendel
 
18.03.26
12:10
(132) типо того
(133) ты верно говоришь, но забываешь уровень абстракций.

Директорату все равно какой ландшафт, как и пользователю многоквартирного дома, какой фундамент.

Требования результатов приблизительно одни
137 Garykom
 
гуру
18.03.26
12:11
(136) Дада
Директорату в лице сова-менеджеров - глубоко пофиг чем рукамиводить
Они зацепились за хайповую тему с ИИ, насчет "сокращения затрат (на песонал)" и думают (фактически мечтают) что это "золотая пуля" :)
138 Garykom
 
гуру
18.03.26
12:14
Появление компов с инетом - привело к созданию вирусов и прочих троянов
И куче проблем с безопасностью: данных, денег и прочего

Появление ИИ приведет к куче новых неизвестных пока проблем
Когда с ними научатся бороться, поймут когда выгодно использовать экскаватор а когда проще/лучше/дешевле лопатой помахать
Тогда и поговорим

Пока это просто хайп, смысла почти нет
Кроме как тем кто продает этот ИИ или железки для него
139 Krendel
 
18.03.26
12:14
(137) в текущем году еще нет. Я только расстался с консом, который пытался работать с ии. Выдавая ии результаты за свои.

В целом-да. Моюно посмотреть на западный рынок, где идут сокращения штатов рядовых сотров
140 Garykom
 
гуру
18.03.26
12:15
(139) Муахаха
Вот и начались первые проблемы например с наймом персонала
141 Krendel
 
18.03.26
12:16
(140) нет проблем, это задачи
142 Garykom
 
гуру
18.03.26
12:16
(140)+ Люди хотят нанять сеньора с ИИ (или хотя бы мидла)
А получают стажера, даже не джуна
143 PLUT
 
гуру
18.03.26
12:17
(138) >Пока это просто хайп, смысла почти нет

ну не совсем. вы поиском часто пользуетесь в этих ваших инторнетах или все знания из своей головы черпаете?

ну так вот ИИ вполне неплохо справляется с поиском - "х.йнуть суть" как говорится
144 Garykom
 
гуру
18.03.26
12:16
(141) Пока ты просрал время и деньги, согласен?
145 АгентБезопасной Нацио
 
18.03.26
12:17
(138) "компьютеры коммерсы придумали, чтоб государство с налогами обманывать"©сотрудник ОблГНИ,1995
146 Garykom
 
гуру
18.03.26
12:18
(143) ПиПиПи
Раньше было: Долго ищешь, быстро делаешь
Сейчас: Быстро ищешь, а потом пытаешь понять что за кучу хрени ты нашел? И что делать?
147 Бешеный заяц
 
18.03.26
12:19
(130) полностью это долго, вот грубое обследование api, далее необходимо с этим промтои идти в VS Code где база EDT подключена, ставить задачу и он предложит архитектуру решения на основании вашей конфигурации.

Для разработки интеграции с 1С через ИИ, нам понадобится структурированное описание основных механизмов API «Деловых Линий». Ниже представлен подробный обзор (Full API Overview) в формате Markdown, собранный на основе документации портала dev.dellin.ru.

Документация API ГК «Деловые Линии» (для интеграции с 1С)
1. Общая информация

API Деловых Линий работает по протоколу HTTP/HTTPS с использованием формата JSON.

Базовый URL: https://api.dellin.ru/

Метод запроса: Преимущественно POST.

Кодировка: UTF-8.

Авторизация

Для работы с API необходимо получить appkey в личном кабинете разработчика.

Appkey: Передается в каждом запросе в теле JSON.

SessionID: Для методов, требующих доступа к персональным данным (заказы, журнал), необходимо сначала вызвать метод login и получить сессию.

2. Основные этапы интеграции
2.1. Авторизация (Метод /v1/public/login.json)

Необходим для получения sessionID.

Запрос:

code
JSON
download
content_copy
expand_less
{
  "appkey": "ВАШ_КЛЮЧ",
  "login": "ваш_логин",
  "password": "ваш_пароль"
}

Ответ: Возвращает sessionID, который живет ограниченное время.

2.2. Расчет стоимости и сроков (Метод /v1/public/calculator.json)

Критически важный метод для реализации в 1С (формирование счетов/заказов).

Основные параметры запроса:

derivalPoint: Пункт отправления (код КЛАДР или ID города).

arrivalPoint: Пункт назначения.

sizedVolume: Общий объем (м³).

sizedWeight: Общий вес (кг).

cargo: Параметры груза (опасный, хрупкий и т.д.).

service: Вид перевозки (авто, авиа, экспресс).

Пример структуры:

code
JSON
download
content_copy
expand_less
{
  "appkey": "...",
  "derivalPoint": "7700000000000000000000000",
  "arrivalPoint": "7800000000000000000000000",
  "sizedVolume": "0.1",
  "sizedWeight": "10"
}
2.3. Создание заказа (Метод /v1/public/request_delivery.json)

Метод для оформления заявки на перевозку.

Ключевые блоки данных:

delivery: Тип доставки.

members: Информация об отправителе, получателе и плательщике (ИНН, КПП, Название, Контактное лицо).

cargo: Характеристики груза.

address: Адреса забора и доставки груза.

payment: Форма оплаты (наличная/безналичная).

2.4. Справочники (География)

Для работы 1С требуются соответствия городов и терминалов.

Города: /v1/public/cities.json — список городов присутствия.

Терминалы: /v1/public/terminals.json — список всех терминалов с координатами и графиком работы.

КЛАДР: Для точного определения адреса рекомендуется использовать поиск по КЛАДР через /v1/public/search.json.

2.5. Статус заказа (Метод /v1/public/tracker.json)

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

Запрос:

code
JSON
download
content_copy
expand_less
{
  "appkey": "...",
  "docid": "22-00011122233"
}
3. Особенности реализации в 1С

При разработке интеграции в 1С (через HTTPСоединение) следует учитывать:

Типы данных: Все числовые значения веса и объема должны быть типа Number (не строки).

Обработка JSON: Использование встроенных средств ЧтениеJSON и ЗаписьJSON.

Логирование: Обязательно сохранять request и response в регистр сведений для отладки ошибок API.

Тайм-ауты: Рекомендуется устанавливать таймаут соединения не менее 30 секунд.

4. Карта эндпоинтов (Кратко)
Функция    URL    Требует SessionID
Авторизация    /v1/public/login.json    Нет
Калькулятор    /v1/public/calculator.json    Нет
Оформление заказа    /v1/public/request_delivery.json    Да
Список терминалов    /v1/public/terminals.json    Нет
Поиск городов    /v1/public/cities.json    Нет
Статус заказа    /v1/public/tracker.json    Нет/Да
Журнал заказов    /v1/customers/history.json    Да
Следующий шаг для ИИ:

Чтобы начать генерацию кода 1С, выберите приоритетную задачу:

Создание модуля авторизации и получения сессии.

Разработка функции расчета стоимости доставки.

Синхронизация справочника терминалов с базой 1С.

Создание документа "Заказ на перевозку" и отправка его в ДЛ.

Какую часть начнем реализовывать первой?
148 Krendel
 
18.03.26
12:19
(144) это нормальный процесс. В любом случае задачи верифицируются как и их решения
149 PLUT
 
гуру
18.03.26
12:20
(146) нам ваш инторнет нах.й не нужон

я про поиск спросил. быстро найти не проблема, проблема понять - нашел ли ты то, что искал и для зачем

как медведь в анекдоте, когда от лося отпиздюлился - " а я то зачем полез? я же читать не умею"
150 Garykom
 
гуру
18.03.26
12:22
(147) Бредогенератор off
151 Garykom
 
гуру
18.03.26
12:23
(149) С ИИ возникла новая проблема
Он реально нашел?
Или сгенерировал нечто похожее на реальность?
Короче проблема отделения бреда, фантазий
152 Garykom
 
гуру
18.03.26
12:25
(151)+ При попытках заставить ИИ написать код на 1С - почти всегда выдает несуществующие методы или процедуры/функции
Код чуть сложней простейшего - полностью нерабочий, требует ручного переписывания
В коде не предусмотрены обработки возможных ошибок и т.д.
153 PLUT
 
гуру
18.03.26
12:26
(151) ну я х.з. какие у вас проблемы?

на примере (147) можете пояснить?

>Ниже представлен подробный обзор (Full API Overview) в формате Markdown, собранный на основе документации портала dev.dellin.ru

"х.йнул суть", а если ему еще уточняющих ссылок напихать, он хуйнет суть еще точнее и лаконичнее
154 Garykom
 
гуру
18.03.26
12:27
(153)
Особенности реализации
API Деловых Линий умеет общаться с помощью двух форматов данных: JSON и XML. Вы можете использовать любой из них. Различий по функциям между ними нет.

Чтобы выбрать формат, передайте заголовок content-type:

Для JSON – application/json (стандарт RFC4627)
Для XML – text/xml (стандарт RFC3023)
Наш API работает в кодировке utf-8, взаимодействует с помощью метода POST.

Ограничения по количеству запросов:

Лимит запросов от приложения в час –1600
Лимит запросов от приложения в минуту – 45
Рекомендуемый тайм-аут соединения – 10 секунд.

Чтобы увеличить лимит, обратитесь к вашему менеджеру или отправьте заявку.

https://dev.dellin.ru/api/
155 PLUT
 
гуру
18.03.26
12:28
(154) ну и где ИИчко насвистело по вашему мнению?
156 Garykom
 
гуру
18.03.26
12:32
(155) Ну пробегись и сравни сам то?

1. URL кривой, надо https://api.dellin.ru/v3/ а не просто https://api.dellin.ru или с /v1
2. Таймаут рекомендуют 10 сек а не 30 сек
3. Можно XML не только JSON
157 PLUT
 
гуру
18.03.26
12:33
(156) навскидку (я с деловыми линиями дела не имел)

1) Базовый URL: - прямой. кривизны не увидел
2) таймаут 30 сек плохо ли? хорошо
3) вообще пох.ю
158 Garykom
 
гуру
18.03.26
12:35
(157)
Там написано от ИИ про URL а не Хост
Затем идет про /v1 устаревший
Начнешь тестить - упс ниуя не работает
Не спец нифига не поймет
159 PLUT
 
гуру
18.03.26
12:37
(158) даже ИИ знает, что такое

базовый минимум URL
Базовый URL (Base URL) в API — это корневой, постоянный адрес сервера, который используется как основа для всех запросов. Он включает протокол (https://) и имя хоста (api.example.com), часто включая версию API (/v1), выступая постоянной точкой входа, к которой добавляются конкретные пути ресурсов (/users, /orders)
160 Garykom
 
гуру
18.03.26
12:37
(159) Ыыы
часто включая версию API (/v1)
161 PLUT
 
гуру
18.03.26
12:38
(160) читать умеешь, уже успех
162 Garykom
 
гуру
18.03.26
12:40
(159) ИИ должен был написать:
1. Базовый URL "https://api.dellin.ru/v3/" а затем методы без "/v1/" сразу
или
2. Базовый URL "https://api.dellin.ru/" а затем методы с "/v3/"
163 PLUT
 
гуру
18.03.26
12:43
(162) неа, читай определение (159)

я кривизны не увидел в базовом урле. а ты доипался до ИИ, что код у него не рабочий :)  всего лишь по одной сцылке сайт прошерстил и я щетаю, что ИИчко неплохо "ху.нуло суть"
164 Garykom
 
гуру
18.03.26
12:45
(163) "часто" != всегда
165 PLUT
 
гуру
18.03.26
12:45
(164) поэтому доверия .бать ноль и инторнет этот ваш нам не нужон
166 Garykom
 
гуру
18.03.26
12:52
(165) Своим обученным моделям можно условно верить
Но доверять непонятно чьим, непонятно на каких данных обученных?

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

С ИИ же растет квалификация хз чего, пинания некоего черного ящика?
167 Бешеный заяц
 
18.03.26
12:58
(147) по поводу деловых линий продолжил диалог с ИИ
Вы абсолютно правы, что обратили внимание на версии. В «Деловых Линиях» сейчас действительно наблюдается гибридная ситуация: они постепенно переводят сервисы на v3, но ключевые методы (расчет и создание заказа) в актуальной документации всё еще работают на v2.[1][2][3][4]

Использование разных версий API — это норма для данной системы. Если вы попробуете использовать v3 там, где его еще нет (например, для калькулятора), сервер вернет ошибку.[1][2][3]

Ниже — проверенный список актуальных эндпоинтов для вашей интеграции:

1. Актуальная карта версий API (на 2024-2025 гг.)
Функция    Актуальный URL    Версия    Почему именно эта?
Авторизация    v3/auth/login.json    v3    Новая версия с поддержкой токенов и улучшенной безопасностью.[1][2][3][4]
Калькулятор    v2/calculator.json    v2    v2 — текущий стандарт.[4][5] v1 — устарел, v3 — для калькулятора пока не опубликован как основной.[3][4][5]
Создание заказа    v2/request.json    v2    Основной метод оформления заявок LTL.[3][4][5][6]
Справочник терминалов    v3/public/terminals.json    v3    v3 отдает более полную структуру (координаты, ПВЗ, графики).[2][3]
Поиск адреса (КЛАДР)    v2/public/kladr.json    v2    Оптимален для сопоставления с базой 1С.[2][4][5]
Статусы заказов    v3/orders/statuses_history.json    v3    Позволяет получать историю изменений статуса, а не только текущий.[3][4][5]
2. Почему в 1С важно не перепутать версии?

Для 1С-разработчика разница в версиях критична из-за структуры JSON:

Типизация в v2: Калькулятор v2 очень строг к типам данных.[3][4][5] Если вы передадите вес как строку "10", а не как число 10, запрос упадет.[1][2][3][4]

Структура ответа v3: В v3 почти все ответы обернуты в блоки metadata и data.[3][4][5] В v2 структура может быть более "плоской".[1][2][3][4][5]

Сессия: sessionID, полученный через v3/auth/login, подходит для методов v2.[3][5][7] Вам не нужно авторизовываться дважды.[3][4][5]

3. Обновленная структура проекта (с учетом версий)

Чтобы ваш ИИ правильно генерировал код, используйте это разделение:

Класс/Модуль DL_Gateway (Шлюз):

Отвечает за низкоуровневые POST-запросы.

Принимает относительный путь (например, v2/calculator.json) и само тело запроса.[2][3][5]

Класс/Модуль DL_Provider (Логика):

GetPrice() — обращается к v2.[3][4][5]

GetTerminals() — обращается к v3.[3][4][5][8]

CreateOrder() — обращается к v2.[3][4][5]

4. Рекомендация по работе с КЛАДР

В 1С (особенно в БП 3.0 или УТ 11) адреса хранятся в формате КЛАДР/ФИАС.[3][4][5]
Важный нюанс: «Деловые Линии» требуют 25-значный код КЛАДР.[1][2][3][4][5] Если в 1С код короче (например, 13 знаков для города), вам нужно будет программно дополнять его нулями до 25 знаков перед отправкой в v2/calculator.json.[2][3]

Что делаем дальше?
Я могу подготовить для вас текст функции на языке 1С для универсального выполнения запросов, которая будет правильно обрабатывать и v2, и v3. Начинаем?
168 Garykom
 
гуру
18.03.26
13:01
(167) Подготовь
Интересно сколько несуществующих методов будет
169 Бешеный заяц
 
18.03.26
13:04
(167) Предупреждаю сразу этот код ИИ пишет на угад, он не подключен не к какой конфигурации 1С он не видит для какой конфигурации пишет, к ней не подключены базы данных встроеного языка и бсп.

Для реализации авторизации в 1С мы будем использовать актуальный метод v3.

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

1. Подготовка (Общий модуль ДЛ_Интеграция)

Код написан с учетом стандартов 1С (использование HTTPСоединение и ЗаписьJSON).

code
Bsl
download
content_copy
expand_less
// Функция выполняет авторизацию в API Деловых Линий (v3)
// Параметры:
//  AppKey   - Строка - Ключ приложения
//  Логин    - Строка - Логин от Личного кабинета
//  Пароль   - Строка - Пароль от Личного кабинета
//
// Возвращаемое значение:
//  Структура:
//   * Статус    - Булево - Результат выполнения (Истина/Ложь)
//   * SessionID - Строка - Идентификатор сессии (если успешно)
//   * Ошибка    - Строка - Текст ошибки (если статус Ложь)
Функция АвторизоватьсяВСервисе(AppKey, Логин, Пароль) Экспорт
    
    Результат = Новый Структура("Статус, SessionID, Ошибка", Ложь, "", "");
    
    // Формируем тело запроса согласно документации v3
    СтруктураЗапроса = Новый Структура;
    СтруктураЗапроса.Вставить("appkey",   AppKey);
    СтруктураЗапроса.Вставить("login",    Логин);
    СтруктураЗапроса.Вставить("password", Пароль);
    
    // Преобразуем структуру в JSON-строку
    ТекстЗапросаJSON = СформироватьJSONИзСтруктуры(СтруктураЗапроса);
    
    // Настройки соединения
    Сервер = "api.dellin.ru";
    Ресурс = "/v3/auth/login.json";
    
    // Выполняем POST запрос
    ОтветСервера = ВыполнитьЗапросКAPI(Сервер, Ресурс, ТекстЗапросаJSON);
    
    Если ОтветСервера.КодСостояния = 200 Тогда
        
        ЧтениеJSON = Новый ЧтениеJSON;
        ЧтениеJSON.УстановитьСтроку(ОтветСервера.Тело);
        ДанныеОтвета = ПрочитатьJSON(ЧтениеJSON);
        ЧтениеJSON.Закрыть();
        
        // В v3 ответ обычно содержит объект "data", внутри которого "sessionID"
        Если ДанныеОтвета.Свойство("data") И ДанныеОтвета.data.Свойство("sessionID") Тогда
            Результат.Статус = Истина;
            Результат.SessionID = ДанныеОтвета.data.sessionID;
        ИначеЕсли ДанныеОтвета.Свойство("errors") Тогда
            // Обработка логических ошибок (неверный пароль и т.д.)
            Результат.Ошибка = ДанныеОтвета.errors[0].detail; // Получаем текст первой ошибки
        Иначе
            Результат.Ошибка = "Неизвестный формат ответа от сервера.";
        КонецЕсли;
        
    Иначе
        Результат.Ошибка = "Ошибка HTTP: " + ОтветСервера.КодСостояния + ". " + ОтветСервера.Тело;
    КонецЕсли;
    
    Возврат Результат;
КонецФункции

// Универсальная функция для выполнения HTTP POST запросов
Функция ВыполнитьЗапросКAPI(Сервер, Ресурс, ТелоЗапроса)
    
    НТТРСоединение = Новый HTTPСоединение(Сервер, 443, , , , 30, Новый ЗащищенноеСоединениеOpenSSL());
    
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
    
    Запрос = Новый HTTPЗапрос(Ресурс, Заголовки);
    Запрос.УстановитьТелоИзСтроки(ТелоЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
    
    Попытка
        Ответ = НТТРСоединение.ОтправитьДляОбработки(Запрос);
        Возврат Новый Структура("КодСостояния, Тело", Ответ.КодСостояния, Ответ.ПолучитьТелоКакСтроку());
    Исключение
        Возврат Новый Структура("КодСостояния, Тело", 500, ОписаниеОшибки());
    КонецПопытки;
    
КонецФункции

// Вспомогательная функция для формирования JSON
Функция СформироватьJSONИзСтруктуры(Структура)
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    ЗаписатьJSON(ЗаписьJSON, Структура);
    Возврат ЗаписьJSON.Закрыть();
КонецФункции
Разбор ключевых моментов для интеграции:

Протокол HTTPS: Обязательно используйте Новый ЗащищенноеСоединениеOpenSSL(), так как API работает через 443 порт.

Обработка ошибок: В API Деловых Линий ошибки могут приходить с кодом 200 (как массив errors в теле) или с кодом 400/401. Мой код проверяет оба варианта.

Структура JSON v3: Обратите внимание, что в v3 полезные данные всегда лежат внутри ключа data.

Кодировка: Строго UTF-8 без BOM (ИспользованиеByteOrderMark.НеИспользовать), иначе сервер ДЛ может не распарсить JSON.

Как использовать:

Вы можете вызвать эту функцию из любой точки (например, при нажатии кнопки "Проверить соединение"):

code
Bsl
download
content_copy
expand_less
Результат = ДЛ_Интеграция.АвторизоватьсяВСервисе("ВАШ-APP-KEY-123", "login_test", "password_test");

Если Результат.Статус Тогда
    Сообщить("Успешно! SessionID: " + Результат.SessionID);
Иначе
    Сообщить("Ошибка авторизации: " + Результат.Ошибка);
КонецЕсли;

Следующим шагом логично реализовать получение списка терминалов или калькулятор. Что выберем?
170 Бешеный заяц
 
18.03.26
13:08
(168) они могут быть, он сочиняет иногда если документация не подключена, когда есть документация и ты явно настраиваешь чтобы сверялся с ней ошибки минимальны в коде, в основном ошибки с формированием форм. Также он не видит контекст базы то есть пишет абстрактно, настраивать EDT и VS Code не быстро чтобы только показать пример
171 Волшебник
 
18.03.26
13:07
(169) Не надо нас предупреждать, что ИИ пишет наугад и что он идиот. Мы и так это знаем.
172 Бешеный заяц
 
18.03.26
13:08
(171) он не идиот он аутист:-)
173 Бешеный заяц
 
18.03.26
13:15
ИИ не панацея (пока в 2026 году) он еще туповат, но уже сейчас разработку ускоряет в несколько раз. Но еще год назад он был полным дауном
174 Бешеный заяц
 
18.03.26
13:34
еще наброшу, если бы в проекте EDT и VS Code работал и ИИ видел бы УТ и документацию к платформе и БСП было бы более качественно.

Для реализации калькулятора мы будем использовать API v2 (/v2/calculator.json). Это самый стабильный метод, который позволяет рассчитать стоимость перевозки между терминалами или «от двери до двери».

Важное напоминание: API Деловых Линий крайне чувствительно к типам данных. Вес и объем должны быть числами, а не строками.

1. Функция расчета (Общий модуль ДЛ_Интеграция)

В этой функции я подготовил структуру для самого частого случая: доставка от терминала города А до адреса в городе Б.

code
Bsl
download
content_copy
expand_less
// Функция рассчитывает стоимость перевозки (v2)
// Параметры:
//  AppKey        - Строка - Ключ приложения
//  КодКЛАДР_Отпр - Строка - 25-значный код КЛАДР города отправления
//  КодКЛАДР_Получ- Строка - 25-значный код КЛАДР адреса получения
//  Вес           - Число  - Общий вес в кг
//  Объем         - Число  - Общий объем в м3
//  SessionID     - Строка (Опционально) - Для учета индивидуальных скидок
//
// Возвращаемое значение:
//  Структура (Статус, Цена, Срок, Ошибка)
Функция РассчитатьСтоимостьДоставки(AppKey, КодКЛАДР_Отпр, КодКЛАДР_Получ, Вес, Объем, SessionID = "") Экспорт
    
    Результат = Новый Структура("Статус, Цена, Срок, Ошибка", Ложь, 0, "", "");
    
    // 1. Формируем структуру запроса v2
    ЗапросКалк = Новый Структура;
    ЗапросКалк.Вставить("appkey", AppKey);
    Если ЗначениеЗаполнено(SessionID) Тогда
        ЗапросКалк.Вставить("sessionID", SessionID);
    КонецЕсли;

    // Блок DELIVERY (Направления)
    Доставка = Новый Структура;
    
    // Откуда (Вариант: терминал в городе отправления)
    Отправление = Новый Структура;
    Отправление.Вставить("variant", "terminal"); // терминал
    Отправление.Вставить("city",    КодКЛАДР_Отпр);
    Доставка.Вставить("derival", Отправление);
    
    // Куда (Вариант: до адреса/двери получателя)
    Прибытие = Новый Структура;
    Прибытие.Вставить("variant", "address"); // до адреса
    АдресПолуч = Новый Структура("search", КодКЛАДР_Получ);
    Прибытие.Вставить("address", АдресПолуч);
    Доставка.Вставить("arrival", Прибытие);
    
    // Тип перевозки (auto - авто, avia - авиа, small - малогабарит)
    Доставка.Вставить("type", "auto");
    
    ЗапросКалк.Вставить("delivery", Доставка);

    // Блок CARGO (Груз)
    Груз = Новый Структура;
    Груз.Вставить("total_weight", Число(Вес));   // Строго число!
    Груз.Вставить("total_volume", Число(Объем)); // Строго число!
    ЗапросКалк.Вставить("cargo", Груз);

    // 2. Сериализация в JSON
    ТекстЗапросаJSON = СформироватьJSONИзСтруктуры(ЗапросКалк);
    
    // 3. Выполнение запроса
    Сервер = "api.dellin.ru";
    Ресурс = "/v2/calculator.json";
    
    // Используем функцию ВыполнитьЗапросКAPI из предыдущего шага
    ОтветСервера = ВыполнитьЗапросКAPI(Сервер, Ресурс, ТекстЗапросаJSON);
    
    Если ОтветСервера.КодСостояния = 200 Тогда
        
        ЧтениеJSON = Новый ЧтениеJSON;
        ЧтениеJSON.УстановитьСтроку(ОтветСервера.Тело);
        ДанныеОтвета = ПрочитатьJSON(ЧтениеJSON);
        ЧтениеJSON.Закрыть();
        
        Если ДанныеОтвета.Свойство("errors") Тогда
            Результат.Ошибка = ДанныеОтвета.errors[0].detail;
        ИначеЕсли ДанныеОтвета.Свойство("data") Тогда
            // Итоговая цена (обычно в поле price или по сумме услуг)
            Результат.Статус = Истина;
            Результат.Цена   = ДанныеОтвета.data.price;
            // Срок доставки в днях
            Если ДанныеОтвета.data.Свойство("term") Тогда
                Результат.Срок = ДанныеОтвета.data.term;
            КонецЕсли;
        КонецЕсли;
        
    Иначе
        Результат.Ошибка = "Ошибка HTTP: " + ОтветСервера.КодСостояния;
    КонецЕсли;
    
    Возврат Результат;
КонецФункции
Разбор структуры запроса (Почему это важно):

derival / arrival:

Если variant = "terminal", то в city передаем КЛАДР города. Груз забираем со склада ДЛ.

Если variant = "address", то в address -> search передаем полный КЛАДР (до улицы/дома). Груз забираем "от двери".

Типы данных: Обратите внимание на Число(Вес). Если из формы 1С придет значение типа "Строка", калькулятор вернет ошибку "Internal Server Error" или "Invalid cargo weight".

Результат: Поле data.price содержит итоговую стоимость со всеми налогами (НДС).

Как проверить работу в 1С:
code
Bsl
download
content_copy
expand_less
// Пример вызова для Москвы (7700000000000000000000000)
// и Санкт-Петербурга (7800000000000000000000000)
Результат = ДЛ_Интеграция.РассчитатьСтоимостьДоставки(
    "ВАШ-КЛЮЧ-API",
    "7700000000000000000000000",
    "7800000000000000000000000",
    15.5, // 15.5 кг
    0.1   // 0.1 м3
);

Если Результат.Статус Тогда
    Сообщить("Стоимость: " + Результат.Цена + " руб.");
    Сообщить("Срок: " + Результат.Срок + " дн.");
Иначе
    Предупреждение("Ошибка расчета: " + Результат.Ошибка);
КонецЕсли;
Что дальше?

Чтобы калькулятор заработал "по-настоящему", нам нужно научить 1С искать эти самые 25-значные коды КЛАДР.
Хотите реализовать функцию поиска КЛАДР через API ДЛ или перейдем сразу к созданию заказа?
175 ptiz
 
18.03.26
13:53
Я тут часами размышляю (в фоновом режиме): делать реквизит-галочку или свойство через регистр сведений, а вы хотите, чтобы ИИ вываливал тонны хрен пойми какого кода. Выглядит как имитация деятельности.
Ну очень плохо вписывается ИИ в разработку учетных систем.
176 Fish
 
гуру
18.03.26
14:00
Интересно, Гений использует ИИ при написании своей Ф3?
Что-то его не видно в ИИ-срачах.
177 Бешеный заяц
 
18.03.26
14:09
(175) не надо тонны кода обрисуй архитектуру, или пошагово делай, создай регистр руками, галочки где надо создай и пускай она код по твоему ТЗ делает, сделала, проверил дальше итд.Твоя задача думать в данном случае а не кодить примитивные вещи, ты архитектор и начальник для неё. То что ты написал будет года через два если темпы развития ИИ такими же темпами идти будут.
178 Бешеный заяц
 
18.03.26
14:05
(177) кстати она мне регистр сведений для маркировки сама предложила и обосновала каждое поле зачем и почему и каждый индекс, но это я специально задачу ставил
179 maxab72
 
18.03.26
14:08
(177) какой-то убогий результат ИИ выдало. У клиента есть база контрагентов с адресами (в разных форматах, где-то еще в старых адресных классификаторах, а где-то и вручную введенных). И задача ИИ придумать, как эти уже введенные данные использовать в API Деловых. Потому что все что выше предложено - стандартный код обращения к функциям API ч обменом через json напишет средней разумности нуб с тремя часами обучения на 1С за час-два.
180 Волшебник
 
18.03.26
14:16
(179) Да-да. Самое главное — точки внедрения в конфигурацию так и не были озвучены. А сделать HTTP-вызов любой дурак может
181 d4rkmesa
 
18.03.26
14:22
(73) 50%, ну-ну, вы не путайте свой франчик с промышленностью.
182 Буковка
 
18.03.26
14:33
С дипсиком занимаюсь рефакторингом.
Положительные моменты есть, но нужно вдумчиво за ним пересматривать код.
Например, сегодня просто убрал часть кода.

&НаСервере
Процедура ОбработатьДанные(Товары)
    // Здесь логика добавления в документ, аналогичная исходной
    // (опущена для краткости)
КонецПроцедуры

Не спорю, стало компактнее. Но кто теперь заполнять документ будет?
183 maxab72
 
18.03.26
14:38
(182) попробуйте квена, он чуток более адекватный в таких вопросах, чем дипсик. но больший тугодум, над простейшим вопросом может минут на 20 зависнуть.
184 mmg
 
18.03.26
14:43
(175) Вы просто не туда вписываете. Правильный сценарий: пользователь говорит что ему учитывать надо. ИИ немного душнит, уточняющие вопросы задает, потом делает базу и говорит пользователю "готово, веди теперь свой учет"
185 Fish
 
гуру
18.03.26
14:51
(184) Раздел ненаучной фантастики.
186 Бешеный заяц
 
18.03.26
14:54
(180) это надо УТ разворачивать, выгружать в EDT, подцеплять в VS Studio настраивать проект, документацию это долго, нет желания этим заниматься, кто захочет тот пускай пробует и изучает, я не евангелист ИИ.
187 Волшебник
 
18.03.26
14:54
(184) А потом базы хренак и не стало. И что скажет ИИ? "Вы правы, база очистилась."
188 Domovoi
 
18.03.26
14:54
(184)Убийцу 1с напишет?
189 Бешеный заяц
 
18.03.26
14:56
(182) дипсик 1С гораздо хуже знает, хотя математика логика на голову выше Qwen
190 mmg
 
18.03.26
14:56
(185) Это все проверяется за 5 минут.
191 mmg
 
18.03.26
14:58
(187) Ну уж нет.

"Вы сказали очистить базу, я и очистил. Желаете восстановить из резервной копии?"

вот так будет
192 maxab72
 
18.03.26
15:02
(191) и следующий вопрос: "Где лежит ваша резервная копия? Разве вы ее не сделали перед тем как поручили мне очистить базу?"
193 Krendel
 
18.03.26
15:08
(192) любой новичек так делает
194 Fish
 
гуру
18.03.26
15:18
(190) Давай проверим. Напиши сюда запрос, результатом которого будет готовая база 1С.
А мы проверим на разных ИИ.
Кстати, в каком виде твой ИИ должен выдать результат? В виде дистрибутива базы или в виде ДТ?
195 Fish
 
гуру
18.03.26
15:22
+(194) Учет можно сделать самый простой: 1 склад, приход/расход, в общем простейшая задачка для собеседования.
196 Волшебник
 
18.03.26
15:30
(195) Зачем склад, если он один? ;)
А приход/расход можно заменить на Операция (с плюсом и минусом).
Проще надо быть
197 Буковка
 
18.03.26
15:31
195 каркасная конфигурация
198 PLUT
 
гуру
18.03.26
15:42
(195) простейшая задачка на собеседовании:

1 склад. пришло 10 штук кое-чего, ушло 5 штук кое-чего.

сколько кое-чего осталось на 1 складе?

правильный ответ: да х.р его знает. надо у кладовщика спрашивать (МОЛ) и начальный остаток кое-чего неизвестен
199 Волшебник
 
18.03.26
15:37
(198) 👍 красавчик!
Если ещё учесть упаковки, то могло остаться дохуя кое-чего, например миллион сникерсов
200 ptiz
 
18.03.26
15:39
Как-то уже писал, но повторюсь: ИИ будет полезен как консультант.
Вот у меня сейчас глюк с НДФЛ в ЗУП - у сотрудника вылезли в этом году какие-то хвосты по 15% НДФЛ (в конце прошлого года он достиг 15%). Вот если был 1С поднатаскала ИИ на разбор проблемных ситуаций в типовых, и подсказывала пути решения - это было бы круто!
201 Fish
 
гуру
18.03.26
15:46
(200) Мне кажется, что Гена даст фору любому ИИ в вопросах ЗУП.
202 PLUT
 
гуру
18.03.26
15:57
(199) с упаковками беда

как-то на прошлой работе при инвентаризации выяснилось, что упаковка есть, а товара нет внутри

и кто же это сделал? интриги скандалы расследования
203 maxab72
 
18.03.26
15:56
"Зачем склад, если он один?" две операции: "приход на склад" и "приход мимо склада" (например EXW).
204 Волшебник
 
18.03.26
16:05
(203) То, что прошло мимо, склада не касается.
205 ptiz
 
18.03.26
16:22
(201) Само-собой, но Гену клонировать не получится :(
206 X Leshiy
 
18.03.26
16:22
(198) Сколько было + 5!)
207 maxab72
 
18.03.26
16:27
(204) Поэтому и можно склад указывать или нет. А потом второй склад захотят...
208 PLUT
 
гуру
18.03.26
16:50
(206) не угадал
209 Garykom
 
гуру
18.03.26
17:18
210 DeeK
 
18.03.26
17:50
(0) никакую не использую, ничего толкового они предложить не могут
211 mmg
 
18.03.26
18:10
(194) Можно и на 1С сделать. Но там придется бороться с отсутствием команд манипуляции метаданными в языке.
Можно через XML-выгрузить/загрузить файлы-пакетный режим конфигуратора. В результате будет довольно извращенный пайплайн.
На SQL все гораздо проще. А пользователю вообще-то наплевать на то, что там под капотом, 1C, SQL. Работает и ладно
212 mmg
 
18.03.26
18:14
(200) 1С достаточно богатая фирма, но до уровня Google, все ж таки не дотягивает