|
v7: Запрос к базе 7.7 через Оле | ☑ | ||
---|---|---|---|---|
0
1С-ница
12.11.14
✎
16:50
|
Платформа 7.70.027
Необходимо один отчет собрать из нескольких идентичных баз, принято решение делать это через Оле. Запрос был сначала отлажен для работы с обычной базой. Далее дорабатывался под Оле. Результат запроса получается пустым, т е одна строка там есть, но она пустая. Что не так с запросом? Процедура ЗапросПоОказаниюУслуг(БазаОлЕ, Год) Перем ЗапросОле, ТекстЗапроса; //Создание объекта типа Запрос ЗапросОле = БазаОле.CreateObject("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(ЗапросПоОказаниюУслуг) //|Период с ВыбНачПериода по ВыбКонПериода; //|Период с '"+НачДата+ "' по '"+КонДата+"'; // |Период с НачалоГода по ДатаАктуальностиОле; |ТекущийДокумент = Регистр.ОказаниеУслуг.ТекущийДокумент; //|Основание = ТекущийДокумент.Основание; |Гость = Регистр.ОказаниеУслуг.Гость; //|Тип = Регистр.ОказаниеУслуг.ТипУслуги; |Услуга = Регистр.ОказаниеУслуг.Услуга; |ДатаР = Регистр.ОказаниеУслуг.Гость.ДатаРождения; |Сумма = Регистр.ОказаниеУслуг.Сумма; |Функция РасхСумма = Расход(Сумма); |Функция ПрихСумма = Приход(Сумма); //|Группировка ТекущийДокумент; //|Группировка Тип; |Группировка Гость упорядочить по Гость.Наименование Без Групп; |Группировка Услуга; |Условие (ТекущийДокумент.Вид()=""ДополнительныеУслугиПоФакту""); //|Условие(Гость.Город.Наименование В (Города)); // |Условие((ТекущаяДата()-ДатаР)>6570); |"//}}ЗАПРОС ; // |Условие(ТекущийДокумент.Вид()=""ДополнительныеУслугиПоФакту""); Города = БазаОлЕ.CreateObject("СписокЗначений"); Города.ДобавитьЗначение("Город1",); Города.ДобавитьЗначение("Город2",); НачалоГода = НачГода("01.01."+Год); ДатаАктуальностиОле = БазаОле.EvalExpr("ПолучитьДатуТА()"); ТЗОле=БазаОле.CreateObject("ТаблицаЗначений"); ЗапросОле.Выполнить(ТекстЗапроса); ЗапросОле.Выгрузить(ТЗОле); Сообщить("Количество строк: "+ТЗОле.КоличествоСтрок()); КонецПроцедуры |
|||
1
КонецЦикла
12.11.14
✎
16:54
|
Периода нет совсем?
|
|||
2
Злопчинский
12.11.14
✎
16:55
|
Потому что при запросе к регистрам если не указан период то берется с ТА до ТА - вероятность что именно в ТА попадут все необходимые данные по ОБОРОТУ (приход и расход) - стремится к нулю
|
|||
3
КонецЦикла
12.11.14
✎
16:55
|
Вы выбрали наиболее тормознутый и проблемный для себя вариант
А ведь можно было нарыть и другую ссылку, там же, рядом: http://1c911.by/stati_1s/statya-kak-ispolzovat-urbd-v-otlichayushchihsya-konfiguraciyah.htm |
|||
4
Злопчинский
12.11.14
✎
16:55
|
(1) Опередун
|
|||
5
Ёпрст
12.11.14
✎
16:55
|
(0) на Дату ТА нет движений.
|
|||
6
1С-ница
12.11.14
✎
16:55
|
(1) На период ругается, отключила его временно
|
|||
7
Злопчинский
12.11.14
✎
16:56
|
(5) именно на дату ТА или на позицию ТА?
|
|||
8
1С-ница
12.11.14
✎
16:56
|
На ТА есть движения
|
|||
9
Злопчинский
12.11.14
✎
16:57
|
(6) потому что ты бяка.
формируй текст запроса сразу с нужными датами в периоде а не используй переменные, передаваемые из твоей базы в олебазу |
|||
10
1С-ница
12.11.14
✎
16:57
|
(9) так у меня 9 баз, у каждой свой период
|
|||
11
Злопчинский
12.11.14
✎
16:59
|
Быстренько метнулся к ДенисуЧ и купил СП
. "Если в описании запроса команда Период С опущена, то интервал дат формирования запроса устанавливается в точку актуальности итогов." |
|||
12
Ёпрст
12.11.14
✎
16:59
|
(10) ну и ладно
|
|||
13
1С-ница
12.11.14
✎
16:59
|
Как тогда правильно дату указать?
|
|||
14
Ёпрст
12.11.14
✎
17:00
|
||||
15
Злопчинский
12.11.14
✎
17:01
|
(10) ну и что? у меня 3500 товаров разных и это не мешает их рассматривать ка кнекую общую сущность.
. Вытаскивай из ОЛЕбазы нужные ДатыН и ДатаК в свою базу и подставляй сразу в текст запроса в кажду базу свои данные. . или в тексте ОЛЕзапроса используй переменнные, которые доступный в ОлеБазе и видны в твлей базе - например, глРасшифровка |
|||
16
КонецЦикла
12.11.14
✎
17:01
|
(13) Мне интересен момент консолидации... как планируется получить сводный отчет? Ковырянием в ТЗ?
Если период какой-то текущий все время используется - его можно прошить в константах баз. НУ или в коде настройки предусмотреть... чужая база - потемки... |
|||
17
Злопчинский
12.11.14
✎
17:02
|
(16) гораздо интереснее как они будут "консолидировать" одного и того же клиента в разных базах если эти клиенты не были "отпочкованы" во все базы из каког-то источника...
|
|||
18
1С-ница
12.11.14
✎
17:04
|
Результаты со всех баз планируется слить в одну ТЗ, которую потом отсортировать по Фио и остальным полям
|
|||
19
1С-ница
12.11.14
✎
17:07
|
С явным указанием дат все выгрузилось
|
|||
20
1С-ница
12.11.14
✎
17:27
|
И так тоже выгрузилось
|Период с '"+НачалоГода+ "' по '"+ДатаАктуальностиОле+"'; Только вот появилась проблема, описанная здесь: 1С 7.7 "Переключиться" |
|||
21
Ёпрст
12.11.14
✎
17:32
|
(20)не пользуй оле, делов то
|
|||
22
Злопчинский
12.11.14
✎
17:33
|
(20) олебаза занята чем-то тяжелым...
|
|||
23
КонецЦикла
12.11.14
✎
18:15
|
(20) То ли еще будет...
У меня когда-то спрашивала не желаю ли установить рабочую дату. Поставил автоперевод. |
|||
24
Злопчинский
12.11.14
✎
18:20
|
(23)_ у мну вообще ощущение, что те кто писал 1Ску 7.7 в т.ч. типовые - они вообще не предусматривали и не догадывались осознанно о возможности использования конфигурации в "пакетных" (не интерактивных) режимах выполнения.. иногда поубивать хочется...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |