Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / 1С и PHP / 18 сообщений из 18, страница 1 из 1
22.11.2009, 15:50
    #36324483
MMG_Alpinist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
Приветствую всех!
Появилась проблема, директор попросил на сайт, который я когда-то сделал, выложить номенклатуру из 1С, что мне нужно:
1) Выгрузить из 1С в MySQL номенклатуру.
2) Назначить автоматическую выгрузку в 1С, к примеру каждый день обновлять таблицу в базе MySQL.
...
Рейтинг: 0 / 0
22.11.2009, 15:54
    #36324487
MMG_Alpinist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
1С:Предприятие 8.1 на Windows Server 2003

Apache+PHP+MySQL на Windows Server 2003
...
Рейтинг: 0 / 0
22.11.2009, 17:19
    #36324547
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
В самом простом случае можно через фтп - создаешь страничку и туда заливаешь. Кроме 1с ничего не нужно.
...
Рейтинг: 0 / 0
22.11.2009, 18:52
    #36324661
MMG_Alpinist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
Я к сожалению нечего не понял из выше написаного, просьба подробней описать сам процесс работы.
Мне довелось многое прочесть по этой теме, но везде пишут про долгие (15-20 сек.) конекты при соединении через демоны (приложение по запросу), поэтому я выбрал наиболее приемлемый вариант, то есть выгрузка в MySQL, об этом пишут, но мало реализуют потому что всем в основном нужен онлайн магазин с возможностью покупки, а мне просто "живой прайс".
Наиболее приемлемый вариант когда 1С запускается каждый час и обновляет таблицу в базе MySQL.
Говорят в платформе 8.2 уже есть такое.
...
Рейтинг: 0 / 0
22.11.2009, 19:38
    #36324712
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
а в чем проблема то... из 1С по ADO выплюнуть данные в табличку по расписанию или вручную...
...
Рейтинг: 0 / 0
22.11.2009, 21:13
    #36324768
MMG_Alpinist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
совершенно верно, именно по адо скорее всего и буду перекачивать, вопрос как это по расписанию в 1С реализовать
...
Рейтинг: 0 / 0
23.11.2009, 04:35
    #36324983
1С и PHP
Регламентное задание + ADO
...
Рейтинг: 0 / 0
23.11.2009, 10:38
    #36325208
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
в типовых поглядеть реализацию регламентированных заданий... ну и шедулер на худой конец никто не отменял
...
Рейтинг: 0 / 0
23.11.2009, 11:47
    #36325388
MMG_Alpinist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Перем  Соединение;
Перем Т;
Процедура Подключить()
Соединение = новый COMобъект("ADODB.Connection");
СтрокаСоединение = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;DataBase=test;UID=***;PWD=***";
Соединение.ConnectionTimeOut =  600 ;
Соединение.ConnectionString = (СтрокаСоединение);
Попытка
	Соединение.Open();
	Сообщить("MySQL база подключена!!!");
Исключение
	Сообщить("Не могу подключиться к базе!!!");
КонецПопытки;
КонецПроцедуры 

Процедура Перенос()
ВыбратьЭлемент = Справочники.Номенклатура.Выбрать();
Пока ВыбратьЭлемент.Следующий()  Цикл
ОбработкаПрерыванияПользователя();
	Если ВыбратьЭлемент.ЭтоГруппа = истина  Тогда
		Продолжить;
	КонецЕсли;
Сообщить (ВыбратьЭлемент);
Попытка
	Стр = "INSERT INTO `tovar` SET `id` = '"+Строка(ВыбратьЭлемент.Код)+"' and `name` ='"+Строка(ВыбратьЭлемент.Наименование)+"'";
	Сообщить(Стр);
	Соединение.Execute("SET NAMES cp1251"); // устанавливаем кодировку
	Соединение.Execute(Стр); // выполняем запрос
Соединение.Execute(Стр);
Исключение
	Сообщить("Невозможно выполнить запрос");
КонецПопытки;
	Сообщить("Перенесли - ");
КонецЦикла;
КонецПроцедуры

Вроде с кодом разобрался, как планировщик в 1С работает?
...
Рейтинг: 0 / 0
23.11.2009, 12:01
    #36325426
tester2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
В 1с 8 есть регламентированные задания (что-то типа джобов у серверов БД). В конфигураторе -> Общие -> Регламентные задания. Создаете задание, устанавливаете расписание, прописываете метод выполнения. Учтите, что регламентные задания в случае архитектуры с сервером приложения выполняются именно на нем под его учеткой, которая запускает эту службу. Также недоступны методы, связанные с отображением данных (например Сообщить).
...
Рейтинг: 0 / 0
23.11.2009, 12:29
    #36325517
_VVP_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
MMG_Alpinist
Код: plaintext
1.
Перем  Соединение;
...
Вроде с кодом разобрался, как планировщик в 1С работает?
Если первый раз пишешь, то молодец.

Несколько комментариев:
1. Данные 1С лучше получать запросом - объект 1С "Запрос".
2. ADO поддерживает параметры - DML выражение "INSERT" надо сделать параметрическим, инициализировать один раз перед циклом по 1С-данным, в цикле заполнять ADO-параметры.
3. Установку кодировки "cp1251" убрать в строку соединения или выполнять разово, перед цкилом по данным.

Про самый оптимальный вариант, работающий даже если сейчас нет доступа к MySQL:
1. Сделать выгрузку из 1С в текстовый файл csv-формата. Файл сохранять в промежуточном месте (ftp, общий каталог и т.д.)
2. Сделать загрузку в MySQL через SQL-скрипт "LOAD DATA INFILE".

"Оптимальный" вариант будет работать быстрее, будет работать всегда. Частота его запусков может быть больше чем частота прямой загрузки из 1С в ADO.
Прямая загрузка в схеме синхронизации 1С и SQL-сервера хороша только тогда, когда тебе надо загружать совсем новые данные, только что появившиеся или только сейчас измененные.
Причем вешать прямую загрузку в таком случае надо на план обмена.
...
Рейтинг: 0 / 0
23.11.2009, 18:13
    #36326693
MMG_Alpinist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
tester2000Учтите, что регламентные задания в случае архитектуры с сервером приложения выполняются именно на нем под его учеткой, которая запускает эту службу.
Если пользователи работают через терминалку, то это как-то играет роль?
Впринципе если он как обычный шледер работает то не должно, жаль не могу сейчас протестировать.
...
Рейтинг: 0 / 0
24.11.2009, 00:08
    #36327203
DobPilot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
MMG_AlpinistПриветствую всех!
Появилась проблема, директор попросил на сайт, который я когда-то сделал, выложить номенклатуру из 1С, что мне нужно:
1) Выгрузить из 1С в MySQL номенклатуру.
2) Назначить автоматическую выгрузку в 1С, к примеру каждый день обновлять таблицу в базе MySQL.

Используете SOAP, 1с как клиент к вашему сайту. Обновление в регламентное задание.
...
Рейтинг: 0 / 0
24.11.2009, 09:20
    #36327463
tester2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
2 MMG_Alpinist. Не имеет значения. Регламентное задание в случае 3-х звенки (клиент - сервер приложения - сервер БД) отрабатывает на сервере приложения. У меня таким образом реализована достаточно интенсивная и объемная выгрузка в MSSQL через csv файлы. Вариант с SOAP интересный, но если сервер БД в "прямой видимости", то выгрузка в csv и LOAD со стороны MySQL по быстродействию будет оптимальным решением.
...
Рейтинг: 0 / 0
24.11.2009, 12:12
    #36328015
Jatz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
а юзая ВК напрямую в мускуль писать не вариант?
...
Рейтинг: 0 / 0
24.11.2009, 15:36
    #36328685
MMG_Alpinist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
Jatzа юзая ВК напрямую в мускуль писать не вариант?
Что такое ВК?
Посмотрите мою реализацию кода выше, она прямо в мускуль стреляет.
...
Рейтинг: 0 / 0
24.11.2009, 16:40
    #36328932
DobPilot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
tester20002 MMG_Alpinist. Не имеет значения. Регламентное задание в случае 3-х звенки (клиент - сервер приложения - сервер БД) отрабатывает на сервере приложения. У меня таким образом реализована достаточно интенсивная и объемная выгрузка в MSSQL через csv файлы. Вариант с SOAP интересный, но если сервер БД в "прямой видимости", то выгрузка в csv и LOAD со стороны MySQL по быстродействию будет оптимальным решением.

Не все хостеры дают использовать MySQL со стороны интернета.
...
Рейтинг: 0 / 0
25.11.2009, 06:56
    #36329829
Jatz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1С и PHP
MMG_Alpinist,

это я для любителей СОАП'a, ВК = внешняя компонента, полезна когда нужно стрелять обратно.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / 1С и PHP / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]