К списку форумов К списку вопросов
OLE-запрос в 1С-7.7 Где-то что-то не так. Помогите.
Кортес
17.09.2004 - 22:26
НачалоПериода = НачМесяца(ДатаАктуальности);
КонецПериода = КонМесяца(ДатаАктуальности);
ТекстЗапроса =
 "//
 |Период с " + НачалоПериода +" по " + КонецПериода + ";
 |Сотрудник = ЖурналРасчетов.Зарплата.Объект;
 |Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
 |Результат = ЖурналРасчетов.Зарплата.Результат;
 |Функция ВсегоНачислено = Сумма(Результат) когда (Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);
 |Функция НДФЛ = Сумма(Результат) когда (Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеИсчисленныеНДФЛ)=1);
 |Функция Выплачено = Сумма(Результат) когда (Расчет = ВидРасчета.ВыплатаЗарплаты);
 |Группировка Сотрудник без групп;
 |Условие(Результат<>0);
 |"//}}ЗАПРОС
 ;
 БазаОлеЗапрос = БазаОле.CreateObject("Запрос");
 Если БазаОлеЗапрос.Выполнить(ТекстЗапроса)=0 Тогда
  глСтатусСтрока(Контекст,"");
  Возврат;
 КонецЕсли;
Кортес
1 - 17.09.2004 - 22:28
БазаОЛЕ подключается, идет обработка, и система надолго погружается в задумчивость.
NS
2 - 17.09.2004 - 22:57
 |Период с '" + Формат(НачалоПериода,"ДДДММГГГГ") +"' по '" + Формат(КонецПериода,"ДДДММГГГГ") + "';
Кортес
3 - 17.09.2004 - 23:52
NS. Та же кухня. Задумалось и выдало "Действие не может быть завершено, так как другая программа занята".
Чем занята? Почему занята?
VZ
4 - 17.09.2004 - 23:55
Cntr-Alt-Delete... и смотри процессы. Ищи занятых.
Кортес
5 - 18.09.2004 - 00:06
VZ. Не там. Загрузка процесора невелика. Процессы 1cv7 по 00...15 всего отнимают.
VZ
6 - 18.09.2004 - 00:22
Вообще-то, я предлагал посчитать 1сv7...
Кортес
7 - 18.09.2004 - 00:23
Не заняты они.
VZ
8 - 18.09.2004 - 00:36
Бааалиин! Скоко их? У тебя ОЛЕ-процессы-то не остаются висячими в памяти?
bvv
9 - 18.09.2004 - 00:44
Запросы не писал через ОЛЕ.Писал перенос справочников.Так вот,при какой либо ошибке(у меня не хотела переносить "") происходит зависание.
И загрузка процессора ни при чем.Просто при работе через ОЛЕ,если происходит зависание и принудительный выход из обработки, у тебя в памяти остается ДРУГАЯ задача(внешняя к которой подключался через ОЛЕ).Убиваешь ее и смотришь,в чем ошибка в коде обработки.
И еще " Период с '" + НачалоПериода + "' по '" + КонецПериода + "';
Обрати внимание на одинарные кавычки.Может быть и получится.
Гашеный
10 - 18.09.2004 - 00:46
Период с " + НачалоПериода +" по " + КонецПериода + "; - как-то не по-людски.
Период с НачалоПериода по КонецПериода; - я сторонник традиционного секса.
Соответственно остальное настораживает - вдруг ты чего-то не договариваешь.
VZ
11 - 18.09.2004 - 00:48
(90 NS уже подсказал: даты в текст надо включать явно. Ибо из вызывающей программы ОЛЕ-запрос переменные взять не в состоянии.
Кортес
12 - 18.09.2004 - 10:41
Не помогло это. Проблема не решена.
Vint Kras
13 - 18.09.2004 - 10:55
В программе, которую подключаешь, выполни этот запрос, отработает ?
Vint Kras
14 - 18.09.2004 - 10:57
всмысле базе
Alexaha
15 - 18.09.2004 - 11:10
(14) Ты наверное задал большой период в запросе и ОЛЕ просто дохнет
Кортес
16 - 18.09.2004 - 11:11
Alexaha. Один месяц задал.
Alexaha
17 - 18.09.2004 - 11:12
15 для 12
Alexaha
18 - 18.09.2004 - 11:15
(16) Задай хотя б 1 день, может даже в месяце у тебя большой объем данных и то что (13) сказал сделай, на всякий случай
М20
19 - 18.09.2004 - 11:16
|Период с "+Шаблон("'[Дата1]'")+" по "+Шаблон("'[Дата1]'")+";
проверено в работе.
(4) - прав. После ошибки в сеансе ОЛЕ снимай задачу.
Кортес
20 - 18.09.2004 - 11:18
Локально в базе запрос аж шуршит. Всё работает. А вот через ОЛЕ - нет.
Alexaha
21 - 18.09.2004 - 11:27
(20) 1. если на запросе виснет, удали лишние процессы и все-таки уменьши период 2. удали все Функции оставь только Сумма(Результат) без "когда" и проверь что получится
Кортес
22 - 18.09.2004 - 11:29
М20. Кажется, именно это прошло. Но теперь ругается:
Функция ВсегоНачислено = Сумма(Результат) когда (Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления <<?>> )=1);
Запрос[8] : Ошибка в выражении 'ГруппаРасчетов'
Теперь ему чего не хватает?
Alexaha
23 - 18.09.2004 - 11:40
(22) Это то о чем я говорил в (21): формируй условие "как бы в терминах" ОЛЕ базы как с периодом
Карабас
24 - 19.09.2004 - 00:00
А как из 1С через ОЛЕ заглянуть в Акцесс и добавить одну запись в базе?
Кортес
25 - 19.09.2004 - 23:32
Не смог придумать, как обратиться к ГруппеРасчетов по OLE. Подскажите, пожалуйста.
Кортес
26 - 20.09.2004 - 12:28
Придумал пока такую мысль: подключиться к базе ОЛЕ, а потом вызвать внешний отчет с "обычным" запросом. Никто так не пробовал?
Муму после всплытия
27 - 20.09.2004 - 12:32
(26)
так и делаю............. результаты выгружаются в ТЗ и передаются как строка через глобальную переменную подключенной базы.............
Кортес
28 - 20.09.2004 - 12:39
Муму, спасибо. Чуток уверенности мне добавил.

К списку вопросов на форуме 1C

>>