• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы farhadsoft
  • Дата начала
F

farhadsoft

Привет всем.

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

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

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

puh14

Можно хоть напрямую к скулю подрубаться и вносить данные в таблицы. Можно использовать некие промежуточные файлы целой тучи форматов. все пишется в отдельную обработку, подвешивается на периодический вызов процедур в самом 1с.
 
И

Истребитель

Я бы сделал следующем образом:

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

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

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!