Имя: Пароль:
1C
 
Как программно достать данные из Бухгалтерии 3.0 без COM?
0 Rizhij_Nikitos
 
12.02.24
20:31
Собственно есть задача сравнить данные между Торговлей (10.3) и Бухгалтерией 3.0. Задача повторяющаяся. Сравнивать руками слишком сложно и долго и чревато ошибкой.

Хочется из под Торговли программно влогиниться в БП 3.0, сделать запрос и вытащить нужные данные, а дальше уже сопоставить две таблички.

Окружение: Сервер 1С под линуксом (поэтому COM-соединение не вариант), базы SQL (Postgres). Есть веб-сервер с уже действующими публикациями.

Из возможных решений - опубликовать в бухгалтерии самописный HTTP-сервис расширением, который отдаст мне нужные данные по локалке.

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

Как бы лучше решить эту задачу?
1 Волшебник
 
12.02.24
20:38
Надо вломиться туда через OLE (V83.Application)
и пофиг, на чём там сервер
2 AneJIbcuH
 
12.02.24
20:38
"Из возможных решений - опубликовать в бухгалтерии самописный HTTP-сервис расширением, который отдаст мне нужные данные по локалке."

Чем вам не решение. Или Odata открыть (опубликовать)
3 Rizhij_Nikitos
 
12.02.24
20:40
Да-да, вот этих слов я и ждал. Пойду почитаю, спасибо. Если есть еще варики, накидывайте. Задача не то что бы супер важна для бизнеса - не хочется сильно в нее упарываться, хочется решить малой кровью.
4 Волшебник
 
12.02.24
20:42
(3) Ага, сопоставить две разные базы с двумя разными конфами, это не "сопоставить две таблички". Барабан Вам на шею
5 AAA
 
12.02.24
20:43
я даже из в 7.7 беру из БП3 данные. HTTP сервис Вам в руки.Выбирайте, возвращайте, сравнивайте
Хотя конечно смотря что надо сравнивать, то есть смотря какие данные и как
6 Rizhij_Nikitos
 
12.02.24
20:44
(4) мне просто надо проверить что бухгалтер правильно перенес платежки из бухгалтерии в торговлю и ниче не протерял на обеде. Однородные документы, мне нужны чисто контрагенты, даты, суммы. Делов на пару часов.
7 AAA
 
12.02.24
20:44
В целом согласен с Волшебником, что сравнивать глобально две совершенно различные базы просто бессмысленно
8 AAA
 
12.02.24
20:46
(6)Про пару часов очень оптимистично. А бухгалтер сама может штатно сверить реестры в двух базах
9 Rizhij_Nikitos
 
12.02.24
20:50
(8) Бухгалтер неадекват. Неконтактная. Никто просто старается не подходить к ней. Ее задачи делает какой-то франч. Она даже в бухгалтерию эти платежки руками грузит, потому что "не доверяет банк-клиенту".

А у нас фин отчетность не сходится потом.
10 Гена
 
12.02.24
20:55
(6) А кто ей посоветовал платёжки БП -> УТ, а не наоборот?
11 Rizhij_Nikitos
 
12.02.24
21:00
(10) Угадай с трех раз)
12 AAA
 
12.02.24
21:00
(10)Гена, если в организации работает бух, которого считают неадекватом, то сама организация является неадекватом. Честно говоря, первый раз слышу, что нужна помощь в сведении банка между двумя базами. Даже самые тупые бухи банк ведут без особых выкрутасов
13 Rizhij_Nikitos
 
12.02.24
21:12
(12) Все нормально) Мы пятый год подряд растем уверенно, она уже не вывозит.
14 Garykom
 
12.02.24
21:17
(0) Выгрузить таблички одинаковой структуры с одинаковыми данными в Эксель через ТабДок
15 Rizhij_Nikitos
 
12.02.24
21:20
(14) Да, именно это я и пытаюсь избежать) Сначала так и было реализовано, хочется чуть больше данных, хочется отдать в руки обычному человеку чтобы он нажал кнопку и увидел чего не хватает и поправил, а не открывал там консоли запросов, не формировал таблички.
16 Garykom
 
12.02.24
23:20
(15) Простейший http-сервис, который на вход получает текст запроса и параметры в json
На выходе сериализованный в json результат запроса в ТЗ

И выполняй сколько надо раз с нужными запросами...
17 TormozIT
 
12.02.24
23:30
> Окружение: Сервер 1С под линуксом (поэтому COM-соединение не вариант),
COM прекрасно работает на клиенте. Это средство интеграции приложений высшего уровня. Если надо минимум кода писать, то это - лучший выбор.
Разве что ты хочешь быть модным и молодежным - тогда да, придется городить http сервисы
18 DrZombi
 
13.02.24
06:12
(0) Берете Инструмент разработчика http://devtool1c.ucoz.ru/
И выгружаете mxl из одной БД, и загружай енто в другой.

Если объем данных не превысит 100 000 записей, терпимо. :)
19 DrZombi
 
13.02.24
06:14
+ И да, надо много писать, как не верти но данные сами не найдутся в синхронизации :)
20 DimVad
 
13.02.24
06:39
(18) ИР для этого не нужен.
Просто по регламентному заданию в БП (когда бух уже должен закончить свою работу) с помощью ЗначениеВФайл(<ИмяФайла>, <Значение>) можно записать в файл таблицу значений.

ТЗ это результат запроса, конечно. Содержит всё, что нужно из БП. Потом в УТ можно считать из файлика в ТЗ, ТЗ отправить в запрос в виде временной таблицы и сравнить в запросе с чем угодно...

Действия в УТ уже по кнопочке. Выводит отчётик...
21 TormozIT
 
13.02.24
07:44
(18) ИР может и огромные выборки сравнить через порционную выгрузку/загрузку https://www.hostedredmine.com/issues/918476
22 Гена
 
13.02.24
07:53
Во, намудрили...
ТС нужно лишь сравнить на заданном интервале времени соответствие банковских выписок в двух открытых базах.

Внешний отчёт с тремя колонками: БП, УТ, разница.
Ну и строчки с поступлениями на р/с и списаниями. Внутри каждой строчки может раскрываться полная информация по контрагенту, договору, авансу и т.д.
23 Ivanich
 
13.02.24
08:31
У нас так. Из 1й базы (СПК-самописная конфа) Бух1 выгружает обработкой1 mxl в общий каталог. Бух2 в БП КОРП обработкой2 читает файл и делает сравнение.
24 d4rkmesa
 
13.02.24
08:32
(3) На практике часто вижу не http, а web-сервисы, возвращающие ValueStorage, в который кладется ТЗ. Пишется быстро, клиентский код НЯП относительно небольшой.
25 Garykom
 
13.02.24
08:41
(24) Не думаю что сериализация в xml быстрей чем json на современных платформах