Экспортировать Остатки Из 1c V8.x На Какой Нибуть Sql Сервер

Тема в разделе "1C и всё что с ней связано", создана пользователем farhadsoft, 4 мар 2012.

  1. farhadsoft

    farhadsoft Гость

    Привет всем.

    Как можно экспортировать автоматически по расписанию остатки из 1C v8.x на какой нибуть SQL сервер вот таком виде:
    Номенклатура СерияНоменклатуры Склад КоличествоОстаток

    Я делаю это ручной с помощью Операции -> Обработка -> Консоль отчетов :
    Код ( (Unknown Language)):
    ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстатки.СерияНоменклатуры,
    ТоварыНаСкладахОстатки.Склад КАК Склад,
    ТоварыНаСкладахОстатки.КоличествоОстаток,
    ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.Номенклатура)
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, ) КАК ТоварыНаСкладахОстатки
    АВТОУПОРЯДОЧИВАНИЕ
    Результат сохранить как .xlsx файл и потом с помощью программы Navicat Premium импортирую на mysql сайт.

    Как автоматизировать все это? Есть ли другой метод?
     
  2. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Можно хоть напрямую к скулю подрубаться и вносить данные в таблицы. Можно использовать некие промежуточные файлы целой тучи форматов. все пишется в отдельную обработку, подвешивается на периодический вызов процедур в самом 1с.
     
  3. Истребитель

    Истребитель Well-Known Member

    Регистрация:
    9 июн 2010
    Сообщения:
    110
    Симпатии:
    0
    Я бы сделал следующем образом:

    На 1С реализовал бы веб-сервис, который выдает таблицу в нужном вам формате.
    Входной параметр - дата, выходной параметр - таблица из четырех столбцов.

    В SQL сервере я бы сделал SSIS (sql server integration services) пакет, который обращается к вебсервису, получает данные, затем делает с ними что угодно - например, для каждой строки данных сгенерить текст запроса INSERT, где в блок VALUES подставляются данные тек. строки, затем выполнить запрос (предварительно очистив таблицу остатков в SQL, конечно).

    И сделал бы задание SQL агенту из 1 шага - выполнение этого пакета, и задал ему расписание требуемое.

    Хотя, если есть возможность через COM или ещё что-то из 1С прямо в SQL заливать то можно и так. Тогда нужно в базе создать РегламентноеЗадание и задать ему расписание, в самом задании - код, формирующий данные и загружающий их в SQL.
     
Загрузка...

Поделиться этой страницей