![]() |
|
v7: Не выплняется запрос по документам | ☑ | ||
---|---|---|---|---|
0
Tihon_aka_kot
21.07.19
✎
15:15
|
Один и тот же запрос выполняется во внешней обработке и не выполняется в глобальном модуле при подключении по OLE
С подключением все хорошо. К другим документам запрос проходит. В чем может быть причина такого поведения (7ку знаю плохо) вот сам запрос Функция глПолучитьРасходнаяНакладная() Экспорт Перем Запрос, ТекстЗапроса; ВыбНачПериода = ТекущаяДата()-40; ВыбКонПериода = ТекущаяДата()+10; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ОбрабатыватьДокументы все; |Док = Документ.РасходнаяНАкладная.ТекущийДокумент; |Группировка Док без групп; |Условие(Док.ВыгрузитьВ83 = 1); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат "Ошибка запроса"; КонецЕсли; Возврат Запрос; КонецФункции Падает в ошибку запроса. |
|||
1
Cthulhu
21.07.19
✎
15:17
|
добавь функцию в текст запроса.
|
|||
2
Cthulhu
21.07.19
✎
15:18
|
ну и ошибка там какая?
|
|||
3
Tihon_aka_kot
21.07.19
✎
15:20
|
(1) похоже что реквизит "ВыгрузитьВ83" который я добавил как то некоректно записался в БД. Щас я его удалил и заново добавил. - и все пошло как надо))) мистика.
|
|||
4
Tihon_aka_kot
21.07.19
✎
15:21
|
(1) а зачем там ф-ции?
|
|||
5
Tihon_aka_kot
21.07.19
✎
16:01
|
(2) В этомместе исправилась - теперь в другом полезла. Ошибка = "ошибка запроса". Как будто в тексте ошибка
|
|||
6
hhhh
21.07.19
✎
16:08
|
(5) а там есть это текст разве?
|
|||
7
Tihon_aka_kot
21.07.19
✎
16:25
|
(6) |Условие(Док.ВыгрузитьВ83 = 1);
да есть такое ощущение что лихорадит БД (файловая) Починилось в одном месте и отвалилось в другом Подклчеине по OLE, поочереди вызываются разные процедуры в 7ке ХЗ куда копать, какаято дроч |
|||
8
Cthulhu
21.07.19
✎
17:02
|
по ОЛЕ сквозная универсальная рекомендация: использовать анг.нотацию в ключевых словах и названиях методов 1с.
|
|||
9
Tihon_aka_kot
21.07.19
✎
17:34
|
(8) Я использую такой принцип:
из 8ки по OLE вызываю функцию в 7ке которая например отдает мне таблицу значений. В 8ке перебираю ее и делаюто что мне нужно. Так вот эта функция в 7ке должна выполнить запрос. И по ОЛЕ он не выполняется. Сейчас конечно перепишу все наименования ф-й на анл но дума что проблема в другом |
|||
10
Tihon_aka_kot
21.07.19
✎
17:57
|
(8) Заметил такую особенность: я помещаю ОЛЕобъект в глобальную переменную модуля и работаю с объектом выборки (Запрос, после Запрос.Выполнить()).
Так вот крашится именно вторая процедура. Меняю их местами - крашится вторая. |
|||
11
Tihon_aka_kot
21.07.19
✎
18:03
|
//вот ф-я в 7ке которую вызываю по ОЛЕ.
//она отдает выборку. Я ее в 8ке перебираю. //Так вот именно второй раз ткаая же процедура но к другому документы крашится. Запрос не может выполнится, как будто какято ошибка в ////тексте. Но если я выполняю его изпод 7ки без ОЛЕ - то все ок. Функция глПолучитьПриходнаяНакладная(ДатаЗагрузки) Экспорт Перем Запрос, ТекстЗапроса; Статус = 1; ДатаНач = ДатаЗагрузки; ДатаКон = ТекущаяДата(); //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(СформироватьДок) |Период с ДатаНач по ДатаКон; |ОбрабатыватьДокументы все; |Док = Документ.ПриходнаяНакладная.ТекущийДокумент; |Группировка Док без групп; |Условие(Док.ВыгрузитьВ83=Статус); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат "Ошибка запроса"; КонецЕсли; Возврат Запрос; КонецФункции |
|||
12
Tihon_aka_kot
21.07.19
✎
18:15
|
По ходу нашел. Проблема была в том что все переменные в запросе по документу в завпросе в 77 у меня назывались "док"
|Док = Документ.ПриходнаяНакладная.ТекущийДокумент; и видимо в сл запросе он не переопределял ее поэтому и ошибался при выполнении. |
|||
13
ДенисЧ
21.07.19
✎
18:32
|
картинка facepalm.png
|
|||
14
Tihon_aka_kot
23.07.19
✎
13:07
|
(13) эфект временный. хз. бывает срабатывает - бывает нет
|
|||
15
Z1
23.07.19
✎
13:29
|
(0) убери слово "без групп"
для группировки по документам это не нужно |
|||
16
Bagirius
01.08.19
✎
23:32
|
(15) +
(1) - есть такое в v7, без функций запросы пустые получаются, надо добавлять хотя-бы: Функция СЧ = Счётчик(Док); |
|||
17
Bagirius
01.08.19
✎
23:36
|
|Период с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы все; |Док = Документ.РасходнаяНакладная.ТекущийДокумент; |ВыгрузитьВ83 = Документ.РасходнаяНакладная.ВыгрузитьВ83; |Группировка Док; |Условие(ВыгрузитьВ83 = 1); ХЗ, но так красивее, и должно летать |
|||
18
Bagirius
01.08.19
✎
23:38
|
+ к (17), по примеру (16) на счет функции не уверен, но если что, надо добавить
|Период с ВыбНачПериода по ВыбКонПериода; |ОбрабатыватьДокументы все; |Док = Документ.РасходнаяНакладная.ТекущийДокумент; |ВыгрузитьВ83 = Документ.РасходнаяНакладная.ВыгрузитьВ83; |Функция СЧ = Счётчик(Док); |Группировка Док; |Условие(ВыгрузитьВ83 = 1); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |