1С Предприятие 8.2: Обмен данными между базами на основе инструментов SQL

Публикация № 235474 06.11.13

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

tregger триггер SQL View Views обмен данными регистрация изменений таблицы SQL

Обмен данными (сотрудники организаций) между базами (1С Предприятие 8.2: Бухгалтерия и 1С Предприятие 8.2: Зарплата и управление персоналом) на основе триггера SQL, отслеживающего изменения таблицы

Задача: организовать обмен данными между базами без использования промежуточных файлов и COM подключения к 1С приложению. Желательно использовать инструменты SQL. 

Источники:

  1. Отслеживаем изменения в таблице с помощью триггеров Transact SQL
  2. ADODB: Прямая запись и другие операции с SQL - таблицами (MS SQL server 2000)
  3. Структура хранения базы данных

 Обмениваться необходимо данными по сотрудникам организации из базы ЗиУП. При помощи обработки "Структура хранения БД" находим нужную нам таблицу SQL. После этого необходимо повесить на неё триггер, регистрирующий изменения и записывающий эти изменения в отдельную таблицу в отдельной базе. После этого при помощи Views отслеживаем и фильтруем необходимы изменения и записываем в базу.

 

Создание базы и таблицы.

Итак, приступим. Нам понадобится отдельная база.

Create DataBase ExchangeDB
Alter DataBase ExchangeDB SET Recovery Simple
Alter DataBase ExchangeDB SET Auto_Shrink ON

В этой базе создадим таблицу:

USE [ExchangeDB]
GO
/****** Object: Table [dbo].[_Employee_Changes] Script Date: 11/05/2013 10:10:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_Employee_Changes](
[_IDRRef] [binary](16) NOT NULL,
[_ChangeType] [nvarchar](10) NOT NULL,
[_Unload] [datetime] NOT NULL,
[_Load] [datetime] NULL,
[_Code] [nchar](10) NULL,
[_Description] [nvarchar](100) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO

Поясню некоторые поля таблицы. Поле "_ChangeType" предназначено для записи типа изменения ("inserted", "delited", "updated"). Поле "_Unload" показывает время изменения. Поле "_Load" используется для записи времени загрузки изменения (для разных баз можно использовать отдельное поле). Результат показан на рис. 1

Рис. 1

Теперь можно повесить триггер, регистрирующий изменения таблицы "Сотрудники организаций"


Создание триггера SQL.

Я повесил Job такого содержания:

USE [Zup]
GO
/****** Object: Trigger [dbo].[_Employee_changes_trigger] Script Date: 10/28/2013 12:00:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--====================================
if exists (select * from sys.triggers where name ='_Employee_changes_trigger')
drop trigger _Employee_changes_trigger
Go
Create trigger [dbo].[_Employee_changes_trigger]
on [Zup].[dbo].[_Reference124] FOR INSERT, UPDATE, DELETE NOT FOR REPLICATION
as
-- SET NOCOUNT ON добавлен чтобы не было лишних результатов выполнения операции
set NOCOUNT ON;

-- определеяем тип произошедших изменений INSERT,UPDATE, or DELETE
declare @change_type as varchar(10)
declare @count as int
set @change_type = 'inserted'
select @count = COUNT(*) FROM DELETED
if @count > 0
  begin
       set@change_type = 'deleted'
        select @count = COUNT(*) from INSERTED
        if @Count > 0
        set @change_type = 'updated'
  end
-- обработка удаления
if @change_type = 'deleted'
  begin
        insert into ExchangeDB.dbo._Employee_Changes(
 _IDRRef, 
_ChangeType,
_Unload,
_Load,
_Code,
_Description
) select
_IDRRef,
'delited',
GETDATE(),
NULL,
_Code,
_Description from deleted
end
else
  begin
-- триггер не различает вставку и удаление, так что добавим ручную обработку
-- обработка вставки
if @change_type = 'inserted'
  begin
    insert into ExchangeDB.dbo._Employee_Changes( 
_IDRRef, 
_ChangeType,
_Unload,
_Load,
_Code,
_Description
) select
_IDRRef,
'inserted',
GETDATE(),
NULL,
_Code,
_Description from inserted
end
-- обработка обновления
else
  begin
    insert into ExchangeDB.dbo._Employee_Changes(
 _IDRRef, 
_ChangeType,
_Unload,
_Load,
_Code,
_Description
) select
_IDRRef,
'updated',
GETDATE(),
NULL,
_Code,
_Description from inserted
end
end -- завершение if
-- завершение 

 В соответствующей таблице должен появитьяс триггер, как показано на рис. 2

Рис. 2

Результат работы триггера представлен на рисунке 3.

Рис. 3

 Создание Views

Далее создаем View таблицы "Сотрудники организации" с необходимыми нам полями (далее разбор на конкретном примере со своей нетиповой спецификой):

USE [ExchangeDB]
GO
/****** Object: View [dbo].[V_Reference124] Script Date: 11/05/2013 11:48:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[V_Reference124]
AS
SELECT ZuP.dbo._Reference124._IDRRef, ZuP.dbo._Reference124._Marked, ZuP.dbo._Reference124._Code, ZuP.dbo._Reference124._Description,
ZuP.dbo._Reference53._Description AS CurrentPosition, ZuP.dbo._Reference124._Fld1812 AS HiringDate, ZuP.dbo._Reference124._Fld1813 AS TerminationDate,
ZuP.dbo._Reference124._Fld9932 AS DriverLicence, ZuP.dbo._Reference9960._Code AS GarageCode, ZuP.dbo._Reference9960._Description AS Garage
FROM ZuP.dbo._Reference124 LEFT OUTER JOIN
ZuP.dbo._Reference9960 ON ZuP.dbo._Reference124._Fld10102RRef = ZuP.dbo._Reference9960._IDRRef LEFT OUTER JOIN
ZuP.dbo._Reference53 ON ZuP.dbo._Reference124._Fld1811RRef = ZuP.dbo._Reference53._IDRRef
GO

Создаём View для таблицы изменений (различные добавленные линейные водители):

USE [ExchangeDB]
GO
/****** Object: View [dbo].[V_Distinct_Employee_ChangesLD_Inserted] Script Date: 11/05/2013 13:58:57 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[V_Distinct_Employee_ChangesLD_Inserted]
AS
SELECT dbo.V_Reference124._IDRRef, dbo.V_Reference124._Marked, dbo.V_Reference124._Code, dbo.V_Reference124._Description, dbo.V_Reference124.CurrentPosition,
dbo.V_Reference124.HiringDate, dbo.V_Reference124.TerminationDate, dbo.V_Reference124.DriverLicence, dbo.V_Reference124.GarageCode,
dbo.V_Reference124.Garage
FROM (SELECT DISTINCT _IDRRef
FROM dbo._Employee_Changes
WHERE (_ChangeType = 'inserted') AND (_Load IS NULL)) AS Changes LEFT OUTER JOIN
dbo.V_Reference124 ON Changes._IDRRef = dbo.V_Reference124._IDRRef
WHERE (dbo.V_Reference124.CurrentPosition = N'Линейный водитель')
GO

Создаем View для таблицы изменений (различные обновленные линейные водители)

USE [ExchangeDB]
GO
/****** Object: View [dbo].[V_Distinct_Employee_ChangesLD_Updated] Script Date: 11/05/2013 14:12:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[V_Distinct_Employee_ChangesLD_Updated]
AS
SELECT dbo.V_Reference124._IDRRef, dbo.V_Reference124._Marked, dbo.V_Reference124._Code, dbo.V_Reference124._Description, dbo.V_Reference124.CurrentPosition,
dbo.V_Reference124.HiringDate, dbo.V_Reference124.TerminationDate, dbo.V_Reference124.DriverLicence, dbo.V_Reference124.GarageCode,
dbo.V_Reference124.Garage
FROM (SELECT DISTINCT _IDRRef
FROM dbo._Employee_Changes
WHERE (_ChangeType = 'updated') AND (_Load IS NULL)) AS Changes LEFT OUTER JOIN
dbo.V_Reference124 ON Changes._IDRRef = dbo.V_Reference124._IDRRef
WHERE (dbo.V_Reference124.CurrentPosition = N'Линейный водитель')
GO

Таким образом, мы получили 3 Views (рис.4)

Рис. 4

Данные View по изменениям сотрудников представлены на рис. 5

Рис. 5

 

Регламентное задание

В базе, которая будет получать данные создаем регламентное задание, в общем модуле регламентного задания размещаем следующий код:

//SQL загрузка
//************Функции***************

Функция ВернутьЗначениеИзМассиваБулево(СомМассив)
   
Массив = Новый Массив();
   
Массив = СомМассив.Выгрузить();
   
Пометка = Массив.Получить(0);
    Если
Пометка = 0 тогда
        Возврат Ложь;
    Иначе
        Возврат Истина;
    КонецЕсли;
КонецФункции

Функция
ПреобразоватьДату(ДатаПреобразования)
    Возврат
Дата(Число(Сред(ДатаПреобразования,7,4))-2000,Сред(ДатаПреобразования,4,2),Лев(ДатаПреобразования,2));
КонецФункции

//************Процедуры*************
Процедура ТМ_ЗагрузкаВодителейСКЛ() Экспорт
   
СтрокаКоннекта = "Provider=SQLOLEDB;Password=*****;Persist Security Info=True;User ID=ExchangeDBwriter;Initial Catalog=ExchangeDB;Data Source=localhost";
   
Connection = Новый COMОбъект("ADODB.Connection");
   
Command = Новый COMObject("ADODB.Command");
   
RecordSet = Новый COMObject("ADODB.RecordSet");
    
Connection.ConnectionString = СтрокаКоннекта;
   
Connection.ConnectionTimeOut = 120;
   
Connection.CursorLocation = 3;
   
Connection.IsolationLevel = 4096;
    
ТЗ = Новый ТаблицаЗначений;
   
ТЗ.Колонки.Добавить("Код");
   
ТЗ.Колонки.Добавить("ПометкаУдаления");
   
ТЗ.Колонки.Добавить("Наименование");
   
ТЗ.Колонки.Добавить("ДатаПриема");
   
ТЗ.Колонки.Добавить("ДатаУвольнения");
   
ТЗ.Колонки.Добавить("НомерЛицензии");
   
ТЗ.Колонки.Добавить("Гараж");
    Попытка
       
Connection.Open();
    Исключение
        Возврат;
    КонецПопытки;
    
//сначала загружаем новые элементы
   
Text="select * from V_Distinct_Employee_ChangesLD_Inserted";
   
Command.ActiveConnection = Connection;
   
Command.CommandTimeout = 120;
   
Command.CommandText = Text;
    Попытка
       
RecordSet.Open(Command);
    Исключение
       
Connection.Close();
        Возврат;
    КонецПопытки;
    Пока НЕ (
RecordSet.EOF) Цикл
       
НоваяСтрока = ТЗ.Добавить();
        
НоваяСтрока.Код = RecordSet.Fields("_Code").Value();
       
ПометкаУдаления = ВернутьЗначениеИзМассиваБулево(RecordSet.Fields("_Marked").Value());
       
НоваяСтрока.ПометкаУдаления = ПометкаУдаления;
       
НоваяСтрока.Наименование = RecordSet.Fields("_Description").Value();
       
НоваяСтрока.ДатаПриема = ПреобразоватьДату(RecordSet.Fields("HiringDate").Value());
       
НоваяСтрока.ДатаУвольнения = ПреобразоватьДату(RecordSet.Fields("TerminationDate").Value());
       
НоваяСтрока.НомерЛицензии = RecordSet.Fields("DriverLicence").Value();
       
НоваяСтрока.Гараж = Справочники.ТМ_Гаражи.НайтиПоНаименованию(RecordSet.Fields("Garage").Value());
        
RecordSet.MoveNext();
    КонецЦикла;
   
Recordset.Close();

   
//записываем данные в базу
   
Для каждого стр из тз цикл
       
//ищем сотрудника
       
ВодительСсылка = Справочники.ТМ_Водители.НайтиПоКоду(стр.Код);
        Если
ВодительСсылка = Справочники.ТМ_Водители.ПустаяСсылка() тогда
           
ВодительОбъект = Справочники.ТМ_Водители.СоздатьЭлемент();
        Иначе
           
ВодительОбъект = ВодительСсылка.ПолучитьОбъект();
        КонецЕсли;
       
ВодительОбъект.Код = стр.Код;
       
ВодительОбъект.Наименование = стр.Наименование;
       
ВодительОбъект.ПометкаУдаления = стр.ПометкаУдаления;
       
ВодительОбъект.ДатаПриема = стр.ДатаПриема;
       
ВодительОбъект.ДатаУвольнения = стр.ДатаУвольнения;
       
ВодительОбъект.НомерУдостоверенияВодителя = стр.НомерЛицензии;
       
ВодительОбъект.Гараж = стр.Гараж;
        Попытка
           
ВодительОбъект.Записать();
           
//отмечаем загруженных
           
CommandText = "UPDATE _Employee_Changes Set _Load = GetDate() where _Code='"+стр.Код+"' and _Load is NULL";
           
Connection.Execute(CommandText,,128);
        Исключение
            Продолжить;
        КонецПопытки;
    КонецЦикла;

   
//теперь пишем обновленных
   
тз.Очистить();
   
Text="select * from V_Distinct_Employee_ChangesLD_Updated";
   
Command.CommandText = Text;
    Попытка
       
RecordSet.Open(Command);
    Исключение
       
Connection.Close();
        Возврат;
    КонецПопытки;
    Пока НЕ (RecordSet.EOF) Цикл
        НоваяСтрока = ТЗ.Добавить();
        
НоваяСтрока.Код = RecordSet.Fields("_Code").Value();
       
ПометкаУдаления = ВернутьЗначениеИзМассиваБулево(RecordSet.Fields("_Marked").Value());
       
НоваяСтрока.ПометкаУдаления = ПометкаУдаления;
       
НоваяСтрока.Наименование = RecordSet.Fields("_Description").Value();
       
НоваяСтрока.ДатаПриема = ПреобразоватьДату(RecordSet.Fields("HiringDate").Value());
       
НоваяСтрока.ДатаУвольнения = ПреобразоватьДату(RecordSet.Fields("TerminationDate").Value());
       
НоваяСтрока.НомерЛицензии = RecordSet.Fields("DriverLicence").Value();
       
НоваяСтрока.Гараж = Справочники.ТМ_Гаражи.НайтиПоНаименованию(RecordSet.Fields("Garage").Value());
        
RecordSet.MoveNext();
    КонецЦикла;
   
Recordset.Close();

   
//записываем данные в базу
   
Для каждого стр из тз цикл
       
//ищем сотрудника
       
ВодительСсылка = Справочники.ТМ_Водители.НайтиПоКоду(стр.Код);
        Если
ВодительСсылка = Справочники.ТМ_Водители.ПустаяСсылка() тогда
           
ВодительОбъект = Справочники.ТМ_Водители.СоздатьЭлемент();
        Иначе
           
ВодительОбъект = ВодительСсылка.ПолучитьОбъект();
        КонецЕсли;
       
ВодительОбъект.Код = стр.Код;
       
ВодительОбъект.Наименование = стр.Наименование;
       
ВодительОбъект.ПометкаУдаления = стр.ПометкаУдаления;
       
ВодительОбъект.ДатаПриема = стр.ДатаПриема;
       
ВодительОбъект.ДатаУвольнения = стр.ДатаУвольнения;
       
ВодительОбъект.НомерУдостоверенияВодителя =?(ЗначениеЗаполнено(ВодительОбъект.НомерУдостоверенияВодителя),ВодительОбъект.НомерУдостоверенияВодителя,стр.НомерЛицензии);
       
ВодительОбъект.Гараж = стр.Гараж;
        Попытка
           
ВодительОбъект.Записать();
           
//отмечаем загруженных
           
CommandText = "UPDATE _Employee_Changes Set _Load = GetDate() where _Code='"+стр.Код+"'  and _Load is NULL";
           
Connection.Execute(CommandText,,128);
        Исключение
            Продолжить;
        КонецПопытки;
    КонецЦикла;
    
Connection.Close();
КонецПроцедуры
//SQL загрузка

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. psamt1k 06.11.13 15:14 Сейчас в теме
Изменения табличных частей, полагаю, так тоже можно сделать?
ЗЫ: поправьте пожалуйста первую ссылку, нерабочая.
2. jan27 726 06.11.13 17:03 Сейчас в теме
(1)да. у меня ссылка работает
Прикрепленные файлы:
3. EdmundoAlvares 06.11.13 21:51 Сейчас в теме
6. jan27 726 06.11.13 23:21 Сейчас в теме
4. awk 738 06.11.13 23:13 Сейчас в теме
(0) Все хорошо, но код на 1С делает все ненужным. Его нужно свести к:

Command.CommandText = "SELECT TOP 100
...
FROM ...
FOR XML";
...
RecordSet.Open(Command);
...
Пока НЕ (RecordSet.EOF) Цикл
Объект1С = CериализаторXML.ПрочитатьXML(ЗаписьXML);
Объект1С.Записать();


То есть делаем FOR XML получаем нативный сериализованый в XML формате объект 1С десериализуем и записываем.
zarucheisky; jan27; +2 Ответить
5. jan27 726 06.11.13 23:20 Сейчас в теме
(4) с недоверием отношусь к 1С-ому xml
7. script 126 09.11.13 21:22 Сейчас в теме
(4) awk,
Вы поселили вирус в голове человека.
Он ведь гордился своим решением, даже на инфостарт выложил.
Оно было сложным и технологичным, содержало 300 строк кода на разных языках,
а вы его .... убили своими 10 строчками. Так ведь и комплекс не полноценности развиться может.
Опасно однако ....
8. awk 738 09.11.13 23:35 Сейчас в теме
(7) script, Я то же делал такие решения:

1. Кода было много времени и мало знаний.
2. Когда было много знаний и мало времени.

Когда же ситуация типовая:

1. Нет ни времени ни знаний
2. Куча знаний и времени

То надо пользоваться типовыми методами - например КД + БСП.
9. jan27 726 10.11.13 14:51 Сейчас в теме
(8) пока окончательно не развился комплекс неполноценности, просветите что такое БСП?
:)))
10. cool.vlad4 2 10.11.13 17:12 Сейчас в теме
(9) jan27, библиотека стандартных подсистем,
jan27; awk; +2 Ответить
11. jan27 726 11.11.13 22:45 Сейчас в теме
(10)спасибо, чет не состыковал....)
12. jan27 726 13.11.13 18:04 Сейчас в теме
(4) при использовании "...FOR XML..." RecordSet содержит одно поле и одну строку типа ComSafeArray
13. awk 738 13.11.13 22:50 Сейчас в теме
14. jan27 726 14.11.13 05:32 Сейчас в теме
(13) а как вытащить xml оттуда?
24. hazyaka 16.07.15 17:45 Сейчас в теме
(4) awk, а есть поподробнее статьи для новичков? не могу дофатазировать что там..
15. xten 46 19.12.13 17:04 Сейчас в теме
Я правильно понимаю, что такой обмен возможно реализовать между любыми конфигурациями?
16. jan27 726 20.12.13 10:17 Сейчас в теме
(15) да. можно даже с другими базами (не 1С) - главное, чтобы на SQL бегали
17. dyak84 30.01.15 12:56 Сейчас в теме
А как зделать с отбором по организации в документах Реализация???????????????Зарание спасибо за ответ
18. jan27 726 30.01.15 16:15 Сейчас в теме
19. hanio 53 01.03.15 19:54 Сейчас в теме
Подскажите пожалуйста а как отключить триггеры?
20. jan27 726 02.03.15 13:21 Сейчас в теме
(19) например, так: drop trigger _Employee_changes_trigger
21. zekrus 152 16.04.15 13:39 Сейчас в теме
А что мешает выполнить полный обмен на стороне SQL (не используя идентификаторы базы источника)?
22. jan27 726 16.04.15 15:58 Сейчас в теме
(21) да, собственно, ничего не мешает... а чем Вам идентификаторы помешали?
23. zarucheisky 16.04.15 16:35 Сейчас в теме
Проще, для сериализуемых объектов включить CDC ( Change Data Capture), c независимыми РС можно использовать CDT (Change Data Tracking), но осторожно.

Остальное, в принципе, так же и ничего нового. Вплоть до создания view с человеческими именами & табличных функций.
Оставьте свое сообщение

См. также

Перенос данных из Парус 8 в ЗГУ ред.3

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

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

84000 руб.

19.08.2020    18353    13    0    

15

Перенос данных из Парус 10 в ЗГУ ред.3

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

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

60000 руб.

05.10.2022    6096    3    8    

5

Автоматическая многопоточная выгрузка данных 1С 8.3 в БД Clickhouse (для работы с данными 1С в BI-системах)

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

Готовое решение для автоматизированной выгрузки данных из 1С 8.3 в базу данных ClickHouse для работы с данными 1С в Yandex Datalens, Apache Superset (и не только) - "Экстрактор данных 1С в BI". Решение отлично работает со всеми типовыми (и не только) конфигурациями 1С 8.3 для управляемых форм. Gозволяет автоматизировать работу бизнес-аналитика по ежедневной выгрузке данных из 1С в БД ClickHouse для последующей работы с этой БД в Yandex Datalens/ Система полностью автоматизирует работу с хранилищем данных в БД Clickhouse. Не надо быть программистом, чтобы одной кнопкой получать любые данные из 1С в Yandex Datalens

84000 руб.

15.11.2022    7062    4    23    

13

Перенос начальных остатков из Парус 7.71 в БГУ

Внешние источники данных Взаиморасчеты Учет ОС и НМА Учет ТМЦ Бюджетный учет Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос словарей и начальных остатков из ПП Парус-Бухгалтерия Бюджет 7.71 в 1Сv8 БГУ2. Заполнение словарей и документов по вводу начальных остатков. Не требуется установка ПП Парус7. Возможна дозагрузка. Внешняя обработка с открытым кодом.

9000 руб.

08.12.2011    77419    116    120    

137

Загрузка ресурсных спецификаций из файла Excel (ERP)

Обработка документов Загрузка и выгрузка в Excel Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 Управляемые формы 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)

Обработка «Загрузка ресурсных спецификаций из файла Excel, сформированного в САПР (ERP)» не требует изменений в конфигурации. Тестировалась на 1С:ERP Управление предприятием 2 (2.4.1.248)

36000 руб.

09.01.2018    35575    80    22    

21

Перенос данных из Парус 7.хх в ЗГУ ред.3

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

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

24000 руб.

24.04.2017    44683    88    147    

80

Перенос данных из Парус 10 (Торнадо) в ЗГУ ред.3 через Excel

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

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

24000 руб.

16.11.2018    27366    16    29    

17

Обмен с СУФД (Федеральным казначейством) для Бухгалтерии предприятия 3.0

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

Комплект обработок для обмена СУФД и Бухгалтерии 3.0. Содержит две обработки: для переноса платежных поручений из БП 3.0 в СУФД Федерального казначейства и загрузки выписок из СУФД в БП 3.0.

2400 руб.

30.03.2023    3943    6    0    

9

Загрузка данных из F3 TAIL 3 (еФарма 2) в 1С: Бухгалтерия 3.0 (базовая, ПРОФ, КОРП)

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП).

13200 руб.

19.12.2016    41230    76    101    

62

Загрузка спецификаций в УНФ из системы Базис-мебельщик

Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

Обработка предназначена для загрузки файлов, выгруженных из системы Базис-мебельщик, в справочник "Спецификации" для последующих процессов учета и диспетчирования полуфабрикатов и изделий.

6000 руб.

24.06.2021    16071    41    36    

18

Загрузка в БГУ из УРМ "Криста"

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

Обработки для загрузки данных из УРМ "Криста" в бухгалтерию государственного учреждения редакция 2.0. Обработка условно-бесплатная - бесплатно в течение одного месяца со дня получения демонстрационного ключа регистрации. Поддерживает ПО "Web-исполнение" от НПО "Криста".

4800 руб.

19.06.2013    35773    133    83    

29

Интегрируй это

Внешние источники данных Бесплатно (free)

В последнее десятилетие выросла популярность no-code и low-code систем. Мобильные и простые десктоп-приложения можно создавать практически без строчки кода. О том, как строить интеграционные контуры для 1С-решений с помощью платформ n8n.io и WSO2, на конференции Infostart Event 2021 Moscow Premiere рассказал Вадим Фоминых.

22.05.2023    3015    Shmell    6    

37

Распознавание паспорта РФ. Python+1С без сторонних сервисов

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

В данной публикации мы рассмотрим методы разработки приложений на Python + 1С для распознавания Паспорта РФ.

1 стартмани

30.01.2023    8242    42    Indgo    34    

87

Выгрузка журнала регистрации 1С в ClickHouse с помощью Vector

Журнал регистрации Внешние источники данных Абонемент ($m)

Данное решение предназначено для выгрузки журнала регистрации из 1С 8.2 - 8.3 (формат журнала LGF/LGP) в ClickHouse. Одной из отличительных особенностей данного решения является возможность подключения экспортера ЖР к системам мониторинга.

1 стартмани

10.11.2022    6687    33    axilab    17    

54

#KafkaЭтоПросто: Kafka Adapter 1С (Confluent) - отправляем сообщения

Инструментарий разработчика Внешние источники данных WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

Сегодня поднимем в docker kafka с confluent'om, а в 1С, в EDT загрузим проект из репозитория, создадим обработку, в которой несколькими строчками отправим сообщение в kafka через rest proxy и в confluent control center посмотрим на него. Если коротко, то: как отправить сообщение в Kafka несколькими строчками кода без компонент, регистраций и смс.

5 стартмани

24.07.2022    10387    21    huxuxuya    29    

79

Консоль запросов SQL (управляемые формы)

Инструменты администратора БД Инструментарий разработчика Внешние источники данных Запросы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Иногда требуется подключиться к другим базам данных для обменов, например: MySQL (сайты, интернет магазины), MS SQL, PostgreSQL (базы данных такие как 1С, WMS, других приложений) и т.д. Данная консоль поможет настроить и проверить подключение, выполнить любые запросы на языке SQL, а также если подключить обработку в конфигуратор использовать для обменов между базами данных с помощью языка SQL.

2 стартмани

04.05.2022    7596    39    nikolasx    12    

28

Консоль обмена по протоколу TCP

Внешние источники данных Обмен между базами 1C Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Внешняя консоль-обработка, позволяющая осуществить обмен пакетами данных между любыми приложениями или устройствами по сетевому протоколу TCP. Консоль работает как в режиме TCP-клиента, так и в режиме TCP-сервера. Реализована с использованием стандартной библиотеки Windows "MS Winsock".

3 стартмани

10.04.2022    8920    35    Bassgood    15    

45

Интеграция 1С и OTRS: Синхронизация заметок тикетов

Управление проектом (PMO, EPM) Внешние источники данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х ИТ-компания Управленческий учет Абонемент ($m)

Внешняя обработка для интеграции 1С с системой обработки заявок OTRS. Предназначена для обмена информацией о заявках, позволяет создавать тикеты и заметки из 1С, загружать заметки (элементы тикетов, заявок) из OTRS в электронные письма. Использует API, предоставленный OTRS. Обмен работает как регламентное задание. Разработан на базе УТ 11.4 и OTRS 5s free.

6 стартмани

18.11.2021    6865    12    tps_01    0    

3

Практика OData. Пишем проводник по данным

Внешние источники данных Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Абонемент ($m)

Специалисты, начиная работать с OData, сталкиваются с трудностями с первых шагов - не очевидно какие именно данные может дать источник и какие механики доступны для формирования выборок данных. Так возникла идея написать обработку, которая позволяет проанализировать структуру и содержимое источника OData, а так же станет примером кода для всех тех, кто делает свою интеграцию на платформе 1С:Предприятие 8.

3 стартмани

11.10.2021    9161    28    Dementor    7    

32

Перенос данных из Парус 7.хх в ЗУП ред.3

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

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

24000 руб.

07.06.2021    12118    1    13    

2

Перенос данных из Парус 8 в ЗУП ред.3

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

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

84000 руб.

07.06.2021    10886    0    0    

1

ВИДы на жительство. Использование внешних источников данных в прикладных задачах

Внешние источники данных Платформа 1С v8.3 Бесплатно (free)

На Infostart Meetup Novosibirsk выступил ведущий разработчик МКК «Ваш Инвестор» Вадим Фоминых. Он на практических примерах показал коллегам, как его команда использует внешние источники данных в прикладных задачах, призвал не отказываться от этого инструмента и объяснил – почему.

19.04.2021    3776    Shmell    5    

30

Правила обмена больше не нужны

Внешние источники данных Обмен между базами 1C WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Бесплатно (free)

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    19858    Nikola23    41    

80

Работа с Ворд через СОМ-Объект

Внешние источники данных Платформа 1С v8.3 Бесплатно (free)

Статья представляет собой еще один велосипед на тему формирования документов на основе шаблонов через СОМ-Объект. Как и все другие велосипеды, этот написан потому, что другие велосипеды - плохие. В действительности, если погуглить, мы получим огромное количество ссылок на советы в стиле "сделай так и будет тебе счастье". Но почему "так", зачем "так", какие есть альтернативы - авторы советов не раскрывают. Хуже того, половина найденных таким способом рецептов окажутся откровенно вредными. Судя по тому, как вредные рецепты копируются из совета в совет, большинство разработчиков, из тех, что переписываются на форумах, просто воспроизводят то, что когда-то нагуглили сами. Ну да, работает - не трогай :-)

15.02.2021    23877    Sindbad_M    36    

70

DaJet Exchange: обмен данными с 1С (часть 1)

Внешние источники данных Платформа 1С v8.3 Бесплатно (free)

Типовой механизм обмена данными 1С, основанный на планах обмена, имеет ряд существенных недостатков. Для преодоления этих недостатков предлагается рассмотреть теоретические основы использования альтернативных механизмов, а также предлагается обсудить реализацию практического решения, оптимального с точки зрения автора.

11.01.2021    6254    zhichkin    14    

36

Учим Лайку новым трюкам: заказы с предоплатами, выгрузка накладных из 1С

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

Расширение Лайка позволяет просматривать данные IIKO по заказам и предоплатам, приходным и расходным накладным, не покидая 1С. Кроме того, в последней версии добавлен функционал создания накладных на основании приобретений 1С одним нажатием.

14400 руб.

15.10.2020    21815    2    5    

5

Перенос остатков и оборотов из КЛОТО в "1С:Зарплата и кадры государственного учреждения 3.1"

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

Перенос из КЛОТО в ЗГУ 3.1. Программный продукт КЛОТО очень распространен на территории Тверской области в силу своей простоты и относительной дешевизны. Данным программным продуктом активно пользуются учреждения организационно-правовой формы МДОУ, ФКУ и прочие.

216000 руб.

05.10.2020    12151    1    0    

2

Улучшенная обработка универсального обмена данными в формате XML (УФ)

Универсальные обработки Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Улучшенная обработка "Универсальный обмен данными" с полноценными возможностями СКД для выборки данных (не только для отборов).

1 стартмани

23.06.2020    24178    213    Lem0n    1    

74

Импорт розничных продаж из АСУ "Топаз-АЗС" в 1С:Бухгалтерию предприятия 3.0

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

Данная обработка предназначена для импорта данных по продаже топлива из АСУ "Топаз-АЗС" в 1С:Бухгалтерия предприятия 3.0 (Версия формата данных 3.15)

4000 руб.

13.05.2020    14219    15    18    

13

Как мы загружаем данные в "Центр управления кассами Магнита"

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Статья о том, как мы делали механизм загрузки больших объемов данных в "Центр управления кассами Магнита"

08.05.2020    6903    chernenko_vv    26    

43

Синхронизация БИТ:СКУД 8 с Parsec.Net 2.5

Внешние источники данных Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Настройка синхронизации БИТ:СКУД 8 с Parsec.Net.2.5, выгрузка данных из внешней системы контроля доступа.

04.05.2020    5985    RPGrigorev    0    

66

Импорт документов из розничной программы учета (ТрейдФарм, Манускрипт Солюшн, Е-Фарма и др.) в Бухгалтерию 3.0 с формированием книги учета доходов и расходов при УСН и бухгалтерского и налогового учета при ОСНО

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

Представлена обработка для импорта документов из розничной программы учета товара в торговых точках и аптеках, необходимых для ведения бухгалтерского и налогового учёта, в Бухгалтерию 3.0. При загрузке данных в бухгалтерию переносятся документы поступлений, реализации, возвратов и перемещений в торговых точках и формируются все бухгалтерские и налоговые отчеты с учетом этих документов для любой системы налогообложения. Обработка позволяет загрузить данные из ПО ТрейдФарм. Имеются варианты для других розничных программ (ПО Manuscript Solution, Е-Фарма и S-Market).

14400 руб.

09.04.2020    16054    9    8    

5

Гарантированный обмен 1С с внешними системами через сервер очередей Microsoft MSMQ

Внешние источники данных Бесплатно (free)

Описание решения задачи организации обмена 1С с внешними системами с условием гарантированной доставки сообщений и независимой поддержкой архивов сообщений. Быстрый ответ: сервер очередей Microsoft MSMQ.

09.02.2020    10703    da_1c    12    

83