Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 16:54

Массовое выполнение запроса по списку баз 1С

Автор Leviathan, 27 авг 2019, 12:58

0 Пользователей и 1 гость просматривают эту тему.

Leviathan

Всем доброго дня!

Столкнулся с не очень понятной мне задачей. Есть текстовый файл в незнакомом мне формате, содержащий в том числе и понятный запрос к 1С:Предприятие 8.3. Начало файла привожу ниже.

Требуется выполнить этот запрос на 70 базах одннаковой структурой и забрать результаты. Как подойти к этой задаче? Я представляю как собрать из этого внешний отчет/обработку, но вот как выполнить массово - не представляю.
Или без шансов и нужно будет заходить в каждую базу и оттуда руками запускать?

Заранее огромное спасибо!!


{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235,
{1,
{9,
{0,"Запрос",
{"Pattern",
{"S",999,1}
},"Запрос",165},
{1,"ТекстЗапроса",
{"Pattern"},"",0},
{2,"ПараметрыЗапроса",
{"Pattern"},"",0},
{3,"НастройкиПостроителя",
{"Pattern"},"",0},
{4,"УдалятьВсеВременныеТаблицыПередКаждымЗапросом",
{"Pattern",
{"B"}
},"",0},
{5,"ОбработчикРезультатаЗапроса",
{"Pattern",
{"S"}
},"",0},
{6,"ВременныеТаблицы",
{"Pattern",
{"#",e199ca70-93cf-46ce-a54b-6edc88c3a296}
},"",0},
{7,"СписокУдаляемыхВременныхТаблиц",
{"Pattern",
{"#",acf6192e-81ca-46ef-93a6-5a6968b78663}
},"",0},
{8,"ИспользоватьПараметрыЗапросаВерхнегоУровня",
{"Pattern",
{"B"}
},"",0}
},
{2,9,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,
{1,1,
{2,5,9,
{"S","Остатки НОМ"},
{"S","ВЫБРАТЬ
ХозрасчетныйВидыСубконто.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_СчетНомСклад
ИЗ
ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто1
ПО ХозрасчетныйВидыСубконто.Ссылка = ХозрасчетныйВидыСубконто1.Ссылка
ГДЕ
ХозрасчетныйВидыСубконто.ВидСубконто = &ВидСубконтоНоменклатура
И ХозрасчетныйВидыСубконто1.ВидСубконто = &ВидСубконтоСклад

СГРУППИРОВАТЬ ПО
.....

Каримдат

А если в программе Обновлятор 1С скрипт написать?

alex0402

Цитата: Leviathan от 27 авг 2019, 12:58
Всем доброго дня!

Столкнулся с не очень понятной мне задачей. Есть текстовый файл в незнакомом мне формате, содержащий в том числе и понятный запрос к 1С:Предприятие 8.3. Начало файла привожу ниже.

Требуется выполнить этот запрос на 70 базах одннаковой структурой и забрать результаты. Как подойти к этой задаче? Я представляю как собрать из этого внешний отчет/обработку, но вот как выполнить массово - не представляю.
Или без шансов и нужно будет заходить в каждую базу и оттуда руками запускать?

Заранее огромное спасибо!!


{"#",e603c0f2-92fb-4d47-8f38-a44a381cf235,
{1,
{9,
{0,"Запрос",
{"Pattern",
{"S",999,1}
},"Запрос",165},
{1,"ТекстЗапроса",
{"Pattern"},"",0},
{2,"ПараметрыЗапроса",
{"Pattern"},"",0},
{3,"НастройкиПостроителя",
{"Pattern"},"",0},
{4,"УдалятьВсеВременныеТаблицыПередКаждымЗапросом",
{"Pattern",
{"B"}
},"",0},
{5,"ОбработчикРезультатаЗапроса",
{"Pattern",
{"S"}
},"",0},
{6,"ВременныеТаблицы",
{"Pattern",
{"#",e199ca70-93cf-46ce-a54b-6edc88c3a296}
},"",0},
{7,"СписокУдаляемыхВременныхТаблиц",
{"Pattern",
{"#",acf6192e-81ca-46ef-93a6-5a6968b78663}
},"",0},
{8,"ИспользоватьПараметрыЗапросаВерхнегоУровня",
{"Pattern",
{"B"}
},"",0}
},
{2,9,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,
{1,1,
{2,5,9,
{"S","Остатки НОМ"},
{"S","ВЫБРАТЬ
ХозрасчетныйВидыСубконто.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_СчетНомСклад
ИЗ
ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто1
ПО ХозрасчетныйВидыСубконто.Ссылка = ХозрасчетныйВидыСубконто1.Ссылка
ГДЕ
ХозрасчетныйВидыСубконто.ВидСубконто = &ВидСубконтоНоменклатура
И ХозрасчетныйВидыСубконто1.ВидСубконто = &ВидСубконтоСклад

СГРУППИРОВАТЬ ПО
.....


очень похоже на консоль запросов.
Спасибо за Сказать спасибо

Z.spb

По проводу формата текста, попробуйте поместить весь текст в функцию "ЗначениеИзСтрокиВнутр" и посмотрите что она вернёт.

По поводу вашей задачи: пишете обработку, в ней составляете список (табличку) сервер-база из 70 строк, в цикле подключаетесь к каждой из них по COM соединению,
создаёте в ней COM-объект "Запрос", устанавливаете этому запросу параметры, по COM получаете результат выгрузки. Гугл в помощь.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск