Синхронизация с сервером 1С во внешнем соединении

29.09.11

Интеграция - Внешние источники данных

Позволяет установить время удаленного SQL-сервера на компьютере при выполнении обмена через Внешнее соединение

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Синхронизация.txt
.txt 1,08Kb
14
14 Скачать (1 SM) Купить за 1 850 руб.

Предыстория:

Возникла необходимость в синхронизации времени перед обменом в локальной базе с удаленным Сервером 1С базы центрального офиса. Исследования методов 1С: ТекущаяДата() и ТекущаяУниверсальнаяДата() выявили, что они выполняются на локальном компьютере, а не на удаленном сервере 1С, куда подключается внешнее соединение. Кроме того, в серверном модуле, где выполняется процедура обмена, недоступны методы 1С: ВыполнитьКомандуСистемы

Решение:

Для получения времени сервера 1С пришлось использовать прямое подключение к серверу SQL (сервер 1С запущен на том же компьютере), а для изменения времени локальной базы использован vbscript. На SQL-сервере надо предварительно создать пользователя GetTime с правами Public (и для базы Master дать роль DBReader).

Текст 1С 8.Х:

con = New COMОбъект("ADODB.Connection");
con.Provider="SQLOLEDB";
con.ConnectionString = "Driver={Microsoft OLE DB Provider};" +
"Data Source=PR-SQL-08;" +
"Initial Catalog=Master;" +
//"Integrated Security=false;" +
//"DataTypeCompatibility=80;" +
"User ID=GetTime; PassWord=******;";
con.Open();

recset = New COMОбъект("ADODB.Recordset");
recset =  con.Execute("SELECT GETDate() as tm");
ВремяТут = ТекущаяДата();
recset.MoveFirst();
// получаем время на Скуле
ВремяЦО=recset.fields("tm").value;
con.Close();
con = Неопределено;
Если ВремяТут-ВремяЦО>3 или ВремяЦО-ВремяТут>3 Тогда
    Scr = NEW COMОбъект("WScript.Shell");
    mtm = ТекущаяДата()-(ВремяТут-ВремяЦО);
    time = "cmd /C""time "+час(mtm)+":"+Минута(mtm)+":"+Секунда(mtm)+"""";
    рр=Scr.Run("" + time + "",0,True);
    Scr = Неопределено;
КонецЕсли;

См. также

Внешние источники данных Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    22047    23    49    

39

Внешние источники данных Зарплата Бюджетный учет Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 7.хх учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

84000 руб.

24.04.2017    52057    104    165    

91

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

120000 руб.

19.08.2020    25927    25    1    

27

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 10 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

84000 руб.

05.10.2022    11353    13    8    

15

Внешние источники данных Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Готовая интеграция для управляемых форм. Встраивается в вашу 1С как расширение. Реализует автоматический обмен данными между 1С (1С:Фитнес клуб и аналогов) и СКУД RusGuard, автоматизирует бизнес-процессы по созданию и учету сотрудников в СКУД. Значительно упрощает работу специалистов отдела кадров и отдела безопасности: избавляет от двойного ввода информации в 1С и СКУД.

94999 руб.

11.07.2024    1053    1    0    

3

Зарплата Внешние источники данных Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 организаций (далее Парус) в конфигурацию 1С:Зарплата и управление персоналом, ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

120000 руб.

07.06.2021    13504    2    3    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. charushkin 110 28.09.11 08:54 Сейчас в теме
Для получения времени сервера 1С

достаточно было сделать такую функцию:
// Возвращает текущую дату сервера
 //
 Функция ТекущаяДатаСервера() Экспорт
 
 	Возврат ТекущаяДата();
 
 КонецФункции // ТекущаяДатаСервера()


Главное, поместить эту функцию в серверный модуль :)
candy; DoReMi; pumbaE; +3 Ответить
2. pumbaE 28.09.11 13:07 Сейчас в теме
В типовых уже давно добавили проверку разницы времени клиента и сервера. Можно было бы и посмотреть. Как в типовой сделано общий модуль "ПроверкаРазницыВремени", процедура такая же как и в (1).
3. sml 41 29.09.11 12:02 Сейчас в теме
(1),(2)
а вы попробуйте то же самое при подключении к Серверу через Внешнее соединение
5. pumbaE 30.09.11 15:35 Сейчас в теме
(3) Попробовал, работает.

Вызываю данную функцию по внешнему соединению.
Функция ВремяСервера() Экспорт
	Возврат Строка(ПроверкаРазницыВремени.ТекущаяДатаСервера());
КонецФункции

Возврат
Клиент 30.09.2011 14:31:42
Сервер 30.09.2011 14:30:43
4. evg300183 29.09.11 14:55 Сейчас в теме
Спасибо! То что нужно! Работает на ура!
Оставьте свое сообщение