<?php // Полная загрузка сервисных книжек, создан 2025-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
Задумка интересная, посмотрим на реализацию. За инструкцию плюс.
Я так понимаю ставили PostgreSQL т.к. он бесплатный или это особенность реализации сервера взаимодействия?
У клиентов обычно MS SQL стоит! Соответственно главный вопрос все ли поставится на боевом сервере?
Спасибо за ссылку на ИТС:
Для работы системы взаимодействия на компьютере необходимо наличие следующих программных продуктов:
● Oracle Java 8 (64-разрядная) – версия 1.8 и старше.
Скачать Java:https://www.java.com/ru/download/ .
● СУБД PostgreSQL – версия 9.5 и старше.
Скачать сервер:https://www.postgresql.org/download/ .
Документация:https://postgrespro.ru/docs/postgresql/ .
● Утилита ring (64-разрядная) – версия 0.8 и старше.
Утилита версии 0.8 поставляется:
● в составе системы «1С:Предприятие» версии 8.3.11 и старше;
● в составе сервера взаимодействия.
Документация к утилите ring см. здесь.
Показать
Похоже без PostgreSQL не обойтись.
на Windows 10 Pro не встала…
(4) На 8.1 Про работает. Винда 10 не далеко ушла от нее.
Я бы добавил в статью еще инфу по
PostgreSQL 9.6.3-1.1C
Если скачать и установить именно эту версию с сайта ИТС, то инсталлер сервера взаимодействия не пойдет дальше, пока не найдет PostgreSQL, а в данном случае он его не находит.
Нужно в реестре добавить вот такую информацию чтобы установка пошла дальше.
(6) в документации на ИТС посылают за СУБД именно на оф.сайт постгри
(7) однако же взлетело и на PostgreSQL 9.6.3-1.1C и прекрасно работает
ну все патчи не опишешь, да и сегодня такой инсталлер, а в след версии поправят — уже и неактуальным станет…
(5) я разобрался в чем дело было)
(6) кстати, да!
У меня 9.6.3-1.1с стояла и я поставил еще с оф сайта, так вот база развернулась именно в 9.6.3-1.1с )))
А может кто готовую виртуалку запилит? От 1С очевидно не добьешься…
Все сделали,при регистрации надо ввести любой адрес почты?
Выдает ошибку при регистрации: Пользователь не авторизован, кто-нибудь решал эту проблему?
установил сервер взаимодействия на сервере.
локально все работает.
в офисе (на другом конце города) через тонкий клиент не регистрируется пользователь!
вообще там ничего поменялось!
КАК ЗАПУСТИТЬ В ТОНКОМ КЛИЕНТЕ?
кто-нибудь уже делал такое?
Верните скриншоты 🙂
о да, скрины поправлю
(6)
В этом нет необходимости.
достаточно скачать по ссылке постгрэ и установить ее
папки установки и ветки в реестрах будут разными.
по крайней мере у меня все пашет корректно.
у меня стоит постре для тестовых баз 9.6.3-1с
и плюс версия с офф сайта постгре 9.6
(18) не вижу необходимости в установке двух серверов при возможности установки только одного
Что-то не устанавливается.
(20) ring не ставили?
ставил. если не ставить то там ругать другая
а тут вот стоит и не пойму что написано
Короче не знаю, второй день бьюсь.
постгре встал без проблем и та и та версии.
в итоге вывод: можно с сайта не качать, просто тупо прописать DWORD паарметр в реестре указынным (6) , выше.
у меня на данный момент не встает Ring, точнее сама программа установилась, но «1ce_cs2_all_in_one_setup_2.0.19_1.x64» не может что-то с ней сделать.(см скрин выше)
я так понял это что-то очень и очень сырое.
А что у кого получается с контекстными обсуждениями (в формах элементов)? У меня команда «Обсуждение» в формах объектов не отображается. Может быть такое, что контекстные обсуждения отключены в тестовом релизе?
Что за конфиг ты поправил? Где его искать? Что именно поправил и зачем?
(25) из документации ИТС
Поставил для интереса на Win 2012. Что сходу не получилось, так это угадать строку подключения, подглядел на скриншоте.
Между базами не работает, файлы, картинки пересылать не может. Пока сложно найти применение.
В общем получилось у меня все поставить и настроить.
Что было сделано:
1. установил чистый Windows 7х64 (моя была ну очень мусорная, поэтому не запускался видимо)
2. скачал все дистры с сайта 1С
3. скачал PostgreSQL с сайта самой 1С, далее подправил реестр как описано выше. (за одно обновил ее вьювер до версии pgAdmin 4)
4. Установил 1С 8.3.10.2561 x64
5. Далее установил сервер взаимодействия (СВ). Особо как то ничего не трогал. проверил папки где встал СВ.
проверил все файл в формате yml.
проверить yml можно вот тут: C:ProgramData1C1CEinstancescsconfig — тут много полезной инфы
Прим.: весь СВ встает по этому адресу: «C:Program Files1C1CE»
5. У Postgre после установки СВ проверил права пользователя «cs» выделил ему «божественные» права т.е. по аналогии с рут правами админа базы.
все и СВ заработал. см. скрин во вложении
6. далее создаете или если нет то в существующей базе, главное чтоб была управляемым приложением 1с выше 8.3.10
7. запускаете утилиту: CollaborationSystemRegister.epf без нее никак потому что она регистрирует вашу базу как СВ в базе postgre.
все. если что пишите
Забыл сказать.
В версии 8.10 нет видео звонков, как бы ну и ладно, в версии 8.11 есть видео звонки, НО, по настройкам я понял что видео пока работает через 1С т.е. «dialog.ru» — или я могу ошибаться, по крайней мере в настройках видел.
Еще.
Javа я поставил оба варианта и jdk и саму java.
(31) Была такая же проблема, когда Postgres загрузил с сайта 1С. Грузите с оригинального сайта, как указывает автор статьи, и все будет ок.
А эта штука с РИБ работает? Можно к ней подключить несколько узлов РИБ одной базы?
Добрый день!
Может кто знает почему при установки на последнем пункте не стартует служба и остановка прерывается (все версии PostgreSQL переустанавливал, не помогает)?
Логи:
[1FC8:0CCC][2017-11-29T14:31:51]i330: Removed bundle dependency provider: {5087a11c-5622-492f-a86f-23b2c637c63b}
[1FC8:0CCC][2017-11-29T14:31:51]i352: Removing cached bundle: {5087a11c-5622-492f-a86f-23b2c637c63b}, from path: C:ProgramDataPackage Cache{5087a11c-5622-492f-a86f-23b2c637c63b}\r
[1FC8:0CCC][2017-11-29T14:31:51]i371: Updating session, registration key: SOFTWAREMicrosoftWindowsCurrentVersionUninstall{5087a11c-5622-492f-a86f-23b2c637c63b}, resume: None, restart initiated: No, disable resume: No
[06C8:1D68][2017-11-29T14:31:51]i399: Apply complete, result: 0x80070643, restart: None, ba requested restart: No
(28)
Добрый день!
Может знаете почему при установки на последнем пункте не стартует служба и остановка прерывается (все версии PostgreSQL переустанавливал, не помогает)?
Логи:
….
[1FC8:0CCC][2017-11-29T14:31:51]i330: Removed bundle dependency provider: {5087a11c-5622-492f-a86f-23b2c637c63b}
[1FC8:0CCC][2017-11-29T14:31:51]i352: Removing cached bundle: {5087a11c-5622-492f-a86f-23b2c637c63b}, from path: C:ProgramDataPackage Cache{5087a11c-5622-492f-a86f-23b2c637c63b}\r
[1FC8:0CCC][2017-11-29T14:31:51]i371: Updating session, registration key: SOFTWAREMicrosoftWindowsCurrentVersionUninstall{5087a11c-5622-492f-a86f-23b2c637c63b}, resume: None, restart initiated: No, disable resume: No
[06C8:1D68][2017-11-29T14:31:51]i399: Apply complete, result: 0x80070643, restart: None, ba requested restart: No
У меня было то же самое: служба не стартовала, остановка прерывалась. Попытка ручного запуска не помогала.
Проблема решилась после того, как почистил папку C:ProgramData1C1CE, там оставались хвосты от предыдущих установок.
(36)
Видимо не мой случай, попробовал на 4-х разных windows и нигде не установился сервер взаимодействия 2.0.25.
Не помню, на каком этапе, еще добавлял в брандмауэр разрешение на входящее подключение на порт 9094
А на сервер взаимодействия нужна лицензия?
Вопрос про порты.
Вот мы опубликовали базу на локальный адрес — всё классно — внутри сети работает.
А как быть при работе через интернет ?
Оно будет на стороне клиента искать тот указанный локальный адрес, или взаимодействие через сервер идёт ?
В общем вопрос — если надо публиковать также, как и дистрибутив обновления — через полный адрес, то порт только один надо пробрасывать — 9094 ?
(40) отвечу сам ).
Да — тут работает всё так же, как при публикации тонкого клиента, то есть публиковать надо по внешнему адресу с портом из конфига.
(35) Было у меня такое.
пока везде вручную не удалил все ссылки и т.д. и т.п. с реестра с appData, ProgramData, сервис не запускался.
пробовал даже вручную установку как описано на сайте 1С.
ничего не помогло. в итоге:
— удалил все и везде любое упоминание про 1с взаимодействие
— установил Postgre с сайта 1С
— далее установил java оба разряда 86 и 64, прописал все пути и ссылки в path
— далее установил саму 1с платформу
— далее установил утилиту ring, настроил ее параметры как рекомендовано (есть тут на инфостарте про это)
— далее запустил установку оставшегося через 1ce_cs2_all_in_one_setup_2.0.19_1.x64
— далее проверил у Postgre пользователя CS который был создан, додал ему «божественные» права
вот собственно весь секас, извиняюсь за выражение.
публиковать это все в наружку не стал, пока хватает локального доступа.
Написал в техподдержку 1С, ответили что нужно поставить Java 8https://www.java.com/ru/download/manual.jsp , а у меня была Java 9.
Служба стала стартовать, но теперь другая ошибка «Не удалось настроить Сервер взаимодействия».
Разобрался и со второй проблемой, нужно ставить postgresql 9.6.6, а у меня стоял postgresql 10
Посмотрите версию 1С в файле
«c:Program Files1C1CEcsin1ce-cs.exe»
(2 года тишина была про эту версию — и вот всплыли наработки)
А можно ли использовать этот сервер для подключения с платформы версии 8.3.10? (Пока на 8.3.11 переходить страшно)
(46) а смысл ? если я верно понял — свой сервер (и новые плюшки) поддерживает только 11 и выше.
Буду признателен, если кто подскажет — как 2 разные платформы подключить к системе ?
Сейчас стоит 11-я и 12-я.
2 тестовые базы.
Работает походу только та, которую последнюю регистрирую.
Адрес один, почта одна, различаются только названия баз при регистрации.
А вот ещё прикол — пытаюсь немного «облагородить» обработку из комплекта.
Так вот:
RegistrationParameters = СистемаВзаимодействия.ПолучитьДанныеРегистрацииИнформационнойБазы();
На клиенте метод не существует.
На сервере отрабатывает и возвращает НЕЧТО пустое.
Не Неопределено.
После возврата на клиент — превращается в ДвоичныеДанные !!!!!!
И вот как из них получить то, что заявлено в синтаксис помощнике — ХЗ ))))
(49) добавочка — данные таки возвращаются, только в зашифрованном виде.
Походу как с паролем пользователя. Можно прочитать и записать обратно, а вот посмотреть, что внутри — увы.
Так что узнать, на какую почту и ИД базы — не выйдет.
вышла 3.0.8.1
надо бы поюзать.
может прошли болячки? 🙂
(51) на ней вчера и тестировал. Что за болячки ?
к примеру она перестает работать если переустановить java машину или даже если она обновится.
она перестает временами работать как служба если компьютер перезагрузить, надо ее пере запускать.
не смог настроить работу утилит чтобы они смотрели в мир, но это наверно больше мои руки кривые, найду способ расскажу при случае.
установить новый Windows 7х64 чтоб система была с чистым реестром, скачать все дистрибутивы с сайта 1С, скачть PostgreSQL с сайта самой 1С, установить 1С 8.3.10.2561 x64. далее установить сервер взаимодействия (СВ) и вызвать человекаhttps://www.1cp-msk.ru ибо дальше начинается порнография и проще кому то за нее заплатить.
(53) у меня в мир смотрит , через роутер даже.
С перезапуском не сталкивался — может проблема и есть, но я свой бук перезапускаю каждую ночь и проблем не наблюдал пока.
(54) расскажу про свой опыт настройки.
После установки всего нужного, подправил c:ProgramData1C1CEinstancescsconfigcom._1c.ecs.websocket.yml
чтобы адрес был нужный (так как у меня несколько сетевых интерфейсов, а инсталлятор выбрал себе непонятно каким образом).
Далее перезагрузка, на всякий случай.
Далее заходим в базу и регистрируем систему взаимодействия.
Тут есть ньюанс — если регить под локальным адресом (типа 127 или 192) — то, собственно, с системой вы сможете работать только из этой же подсети.
Если нужно смотреть в мир — регить надо или извне по внешнему адресу или прописать себе в hosts свой IP под внешнее имя — тогда будет работать и извне и внутри.
Всё — ничего сложного, в принципе.
Установил сервер взаимодействия локально . В базе зарегистрировал.
Письмо на e-mail не пришло- так и должно быть?
В панели инструментов новый значок появился.
Но…
Создаю неконтекстное обсуждение — в списке участников при наборе в строке поиска нет ни одного пользователя. Что не так?
(57)Чтобы они там появились их нужно зарегистрировать на сервере взаимодествия. Это делается автоматом при первом интерактивном входе пользователя в ИБ.
Либо можно ручками:
Показать
За подробностямисюда
О… это я недочитал 🙁 Попробую
Заработало , спасибо Виктор Третьяков
Поспешил- заработало на файловой базе , которая размещается на том же комп-ре, что и сервер взаимодействия.
На клиент- серверной — на другом сервере, не заработала. При регистрации пользователей- Сетевая ошибка системы взаимодействия 🙁
(61) А это уже похоже файрволл или антивирь шалит
Еще — если зайти в ту же базу (файловая , в которой в тонком клиенте работают взаимодействия ) веб- клиентом, то взаимодействия недоступны. Так и должно быть?
Всё установил автоматически, все службы работают. Проблема при регистрации базы утилитой CollaborationSystemRegister.epf, которая поставляется вместе с сервером. Адрес сервера взаимодействия беру из файла com._1c.ecs.websocket.yml и получается ws:100.65.143.89:9094. Почта, соответственно, моя личная, раньше нигде не фигурировала. Появляется сообщение: «Ошибка при регистрации: соединение с сервером системы взаимодействия потеряно»
ws://100.65.143.89:9094 попробуйте так
(65)
Тоже самое. Я не пойму, на что ссылается этот адрес, эта строка должна быть доступна из браузера? И имя базы указывается произвольное? В ИТС по этому поводу ни слова, то ли я не вижу.
(62) брандмауэр 🙁
(64) у меня было такое — перезапустил службу 1ce-cs
(65) Всё переустановил, такая строка подключения правильная. Адрес теперь ссылается на мой локальный 192.168.100.4
ws://192.168.100.4:9094
под веб- клиентом взаимодействия чтобы были доступны что нужно ?
(31) В моем случае какой-то из пакетов «потрогал» WMI на машинке. Пришлось фиксить.
Устранение неполадок в WMI
Проверить — запустить powershell.exe в нем выполнить — get-wmiobject Win32_OperatingSystem
Если без ошибки (должен вывести информацию о системе), то все норм и дело в чем-то другом.
Если не Ок и ошибка, то вот сюда можно сходить
Тот же вопрос, если кто знает помогите.
(56)
Можно пример?
(74)
192.168.2.7 my.outer.ddns.name
(71) А разве не работает ?
Зашел в базу через лису — обсуждения вижу, обсуждение в справочнике тоже.
(69) и будет оно работать только на локальной машине.
Ну или в той же локальной сети.
Чтобы работало извне тоже — надо регистрировать на имяадрес, которые однозначно доступны и локально и извне тоже.
А разбирался кто-то со структурой БД, которая на постгре создаётся.
Подсмотреть где-то что-то можно?
Кто-нибдуь знает, можно ли через сообщения открывать кликом мышки переданные ссылки на документы?
(79) можно
учебная платформа поддерживает этот сервер взаимодействий?
в 8.3.13 ошибка «ошибка регистрации. соединение с сервером взаимодействия потеряно».
указываю адрес верный, порт тоже, пользователь имеет право регистрации в СВ
СистемаВзаимодействия.ПолучитьОбсуждение…
СистемаВзаимодействия.СоздатьОбсуждение…
Любой из методов вызывает ошибку «Сетевая ошибка системы взаимодействия». Файервол отключен.
Что-то не так в настройках сервера, а в документации об этом ни слова.
(82) Решилось обновлением СВ
(83) поставил тестовую (новую) версию СВ и вроде все заработало
(85) Это которая 4.0?
(85) у меня на 4.0 при регистрации «Ошибка протокола системы взаимодействия», хотя в конфиге websocket указан ws…
(87) у меня была чистая установка — без проблем.
Как обновить — на сайте итс в загрузках рядом с СВ лежит инструкция
(76)
У меня тот же вопрос, с клиента работает, а веб клиент пишет что сервер не найден, что может быть?
(95) значит что-то где-то некорректно настраиваете.
Вы регистрировали базу на внешний адрес ?
У вас один адрес используется и для работы в локальной сети и через браузер.
(80) спасибо
(41) А можно подробнее что где поменять? Спасибо!
(99) в обработке регистрации информационной базы прописываете
http://mysite.com и ваш локальный ip 192.168.0.100
не ws://127.0.0.1:9094 — сюда только ваш комп достучаться сможет.
Допусти у вас есть внешний адрес
Прописываем
ws://mysite.com:9094
и обеспечиваем обращение к этому ip при обращении к сайту (проброс портов) как снаружи, так и изнутри (если надо изнутри).
(36) Большое спасибо! Помогло!
На тестовом сервере обновили платформу до 14.1565, на боевом пока остаётся 12.1440.
Теперь они не хотят работать вместе с сервером взаимодействия.
На новой платформе:
вызывает ошибку:
{ОбщийМодуль.СерверВзаимодействияПривилегированный.Модуль(9)}: Ошибка при вызове метода контекста (ПолучитьОбсуждение)
Возврат СистемаВзаимодействия.ПолучитьОбсуждение(КлючОбсуждения) <> Неопределено;
по причине:
Параметры регистрации системы взаимодействия недействительны
При перерегистрации базы на СВ такая же ошибка возникает но уже на боевой базе, которая на старой платформе.
В логах сервера СВ:
message=Удаленный хост принудительно разорвал существующее подключение
Кто-нибудь сталкивался?
Версия СВ 5.0.37
можно, если это контекстное обсуждение
(58)Может есть информация, почему «не подтягивается» указанная у пользователя контактная информация (телефон и e-mail) и недоступны звонки и видеозвонки?
(128) Ну если вы про код из (58), то оно и не должно, это просто образец
(14) нашли решение ?