Имя: Пароль:
1C
1C 7.7
v7: Сравнение остатков в разных ИБ
0 Pit0n_08
 
01.12.11
20:00
Нужно сравнить остатки ТМЦ в двух разных ИБ. Ранее делали через промежуточный xls-файл с остатками. Теперь делаю запрос в первой ИБ, подключаюсь ко второй и создаю Запрос, но при его выполнении выдает ошибку "Период с НачПер << >> по КонПер"... У кого есть примерчик запроса, выполняемого по OLE черкните, или подсобите ссылочкой.
1 VladZ
 
01.12.11
20:01
Базы DBF-ные?
2 ДенисЧ
 
01.12.11
20:02
Период с '01.01.2011' По '01.11.2011'

Намёк понят?
3 truba
 
01.12.11
20:04
(1) Верно. .ПрисоединитьИБ() - наш метод!
4 Pit0n_08
 
01.12.11
20:08
(1)Из DBF-ной обращаюсь к SQL-ной
(2) проверить регистр? (запрос взят из конструктора)
5 ДенисЧ
 
01.12.11
20:10
(4) явно, литералами, задать даты. Или переменные взять из той базы.
6 truba
 
01.12.11
20:13
поставь себя на место базы где будет выполняться запрос. На место объекта Запрос.
Ему передали текст. Объект запрос оле базы начинает парсить текст. Доходит до строки
Период с НачПер. Парсер как то должен эту строку отработать - пройти по контексту в котором запрос был создан и найти там такую переменную. Есть в том контексте ТОЙ базы такая переменная?
7 Pit0n_08
 
01.12.11
20:15
(5) То есть переменные запроса надо предопределить для другой базы до его выполнения?
8 ДенисЧ
 
01.12.11
20:17
(7) а сам-то как думаешь? Откуда запрос в той базе узнает о переменных в этой?
9 Pit0n_08
 
01.12.11
20:20
Спасибо, завтра буду лячкать.
10 truba
 
01.12.11
20:26
(7) а еще лучше см ->(2)<- Парсер преобразует сам текст в дату.
11 truba
 
01.12.11
20:31
Еще вариант для извращенных изващенцев: пишешь обычную обработку, которая тебе выгрузит в промежуточный файл нужную таблицу остатков.
На оле-базе запускаешь ее. Она пишет тебе в файл остатки на момент запуска. Дальше в коде целевой базы считываешь файл в удобный тебе объект (таблицу значений к примеру), анализируешь с ТЗ целевой базы и рисуешь результат пользователю. Пользователь счастлив.
12 Ёпрст
 
01.12.11
20:31
(0)написать прямой запрос вестимо к сторонней базе.
Оле в топку.
13 Pit0n_08
 
01.12.11
20:41
(12) Это, пожалуй, будет самым эффективным вариантом!!!