Объект "Запрос" 7.7.
22.05.2008
13:36
#1
"Поражаюсь над "одарённостью" программистов фирмы 1С:
Запрос.Выполнить(ТекстЗапроса);
Постоянно приходится переделывать на
Пока Запрос.Выполнить(ТекстЗапроса) =0 Цикл
КонецЦикла;
раньше писали:
Если Запрос.Выполнить(ТекстЗапроса) =1 Тогда....
Но и это не работало.
Запрос может не выполнятся и по техническим причинам:
Перегрузка сервера, сети и т.д. В результате получается при нескольких нажатиях кнопки "Сформировать", абсолютно разные результаты.
Пора уже выгнать с 1С гасторбайтеров с Чукотки. Неужели так трудно набрать нормальных специалистов???
"
Запрос.Выполнить(ТекстЗапроса);
Постоянно приходится переделывать на
Пока Запрос.Выполнить(ТекстЗапроса) =0 Цикл
КонецЦикла;
раньше писали:
Если Запрос.Выполнить(ТекстЗапроса) =1 Тогда....
Но и это не работало.
Запрос может не выполнятся и по техническим причинам:
Перегрузка сервера, сети и т.д. В результате получается при нескольких нажатиях кнопки "Сформировать", абсолютно разные результаты.
Пора уже выгнать с 1С гасторбайтеров с Чукотки. Неужели так трудно набрать нормальных специалистов???
"
22.05.2008
14:02
#2
"> Постоянно приходится переделывать на
> Пока Запрос.Выполнить(ТекстЗапроса) =0 Цикл
> КонецЦикла;
Зачем?
>
> раньше писали:
> Если Запрос.Выполнить(ТекстЗапроса) =1 Тогда....
>
> Но и это не работало.
У меня работает!
> Запрос может не выполнятся и по техническим причинам:
> Перегрузка сервера, сети и т.д. В результате получается при нескольких нажатиях кнопки "Сформировать", абсолютно разные результаты.
> Пора уже выгнать с 1С гасторбайтеров с Чукотки. Неужели так трудно набрать нормальных специалистов???
>
Плохому танцору ... Дальше продолжи сам"
> Пока Запрос.Выполнить(ТекстЗапроса) =0 Цикл
> КонецЦикла;
Зачем?
>
> раньше писали:
> Если Запрос.Выполнить(ТекстЗапроса) =1 Тогда....
>
> Но и это не работало.
У меня работает!
> Запрос может не выполнятся и по техническим причинам:
> Перегрузка сервера, сети и т.д. В результате получается при нескольких нажатиях кнопки "Сформировать", абсолютно разные результаты.
> Пора уже выгнать с 1С гасторбайтеров с Чукотки. Неужели так трудно набрать нормальных специалистов???
>
Плохому танцору ... Дальше продолжи сам"
22.05.2008
14:42
#3
удалить изменить ответить
1с: предприятие 7.7(для3-х польз.) (7.70.017)
Конфигурация Зарплата + Кадры, от 01.07.2001 (7.70.32)
Бухгалтерия для бюджетных организаций
и можно по подробней типа(1Конфигуратор 2Конфигурация 3Документы 4ежеквартальная премия)
алгорит проведения документа
даже как заполнить поля этого документа
Квартальная премия у алименщиков не начисляется это знаешь
1с: предприятие 7.7(для3-х польз.) (7.70.017)
Конфигурация Зарплата + Кадры, от 01.07.2001 (7.70.32)
Бухгалтерия для бюджетных организаций
и можно по подробней типа(1Конфигуратор 2Конфигурация 3Документы 4ежеквартальная премия)
алгорит проведения документа
даже как заполнить поля этого документа
Квартальная премия у алименщиков не начисляется это знаешь
22.05.2008
14:59
#4
"Подтверждаю, что проблема с запросами есть. Стабильно проявляется на MS SQL Server. Именно поэтому даже в некоторых типовых конфигурациях есть конструкции алгоритмов вида:
ПопытокВыполненияЗапроса = 10;
Для Сч = 1 По ПопытокВыполненияЗапроса Цикл
Если ЗапросПоСтажу.Выполнить(ТекстЗапроса)=1 Тогда
Прервать
КонецЕсли;
КонецЦикла;
Если Сч = ПопытокВыполненияЗапроса + 1 Тогда
Сообщить("Не удалось обработать данные о стаже работников!","!");
Возврат 0;
КонецЕсли;
(это из Комплексной, в частности)
Проблема очень ярко проявилась когда то не то в релизе движка 7.70.017, не то 7.70.019... Тогда и применила 1С такие "решения" на уровне алгоритмов конфигурации. Реально, конечно, проблему надо решать на уровне движка. Эффект проявляется при последовательном непрерывном выполнении нескольких запросов. Причем иногда очень даже стабильно, зависит от загрузки сервера"
ПопытокВыполненияЗапроса = 10;
Для Сч = 1 По ПопытокВыполненияЗапроса Цикл
Если ЗапросПоСтажу.Выполнить(ТекстЗапроса)=1 Тогда
Прервать
КонецЕсли;
КонецЦикла;
Если Сч = ПопытокВыполненияЗапроса + 1 Тогда
Сообщить("Не удалось обработать данные о стаже работников!","!");
Возврат 0;
КонецЕсли;
(это из Комплексной, в частности)
Проблема очень ярко проявилась когда то не то в релизе движка 7.70.017, не то 7.70.019... Тогда и применила 1С такие "решения" на уровне алгоритмов конфигурации. Реально, конечно, проблему надо решать на уровне движка. Эффект проявляется при последовательном непрерывном выполнении нескольких запросов. Причем иногда очень даже стабильно, зависит от загрузки сервера"
22.05.2008
15:11
#5
"У меня таких проблем не было, условие всегда срабатывает, если запрос не выполнилься, то значить есть ошибка! Кстати можно сработать на прерываниях и тогда увидить ошибку почем валиться 1С. Что то типа :
Попытка
Исключение
КонецПопытки; Или я не так понял?"
Попытка
Исключение
КонецПопытки; Или я не так понял?"
22.05.2008
15:25
#6
"1С не валится, просто почему то получается Запрос.Выполнить()=0, хотя, запускаешь его тут же еще раз с тем же текстом запроса и там все ок... Нестабильная ошибка, совершенно точно связана с "пинком", полученным от MS SQL Server.
Попробуйте для эксперемента написать что то вроде:
ТекстЗапроса="Номенклатура=Справочник.Номенклатура.ТекущийЭлемент;
|Группировка Номенклатура;";
Запрос=СоздатьОбъект("Запрос");
Успех=0;
Ошибка=0;
Для i=1 По 100 Цикл
Если Запрос.Выполнить(ТекстЗапроса)=1 Тогда
Успех=Успех+1;
Иначе
Ошибка=Ошибка+1;
КонецЕсли;
КонецЦикла;
Сообщить("Успешное выполнение запроса: "+Строка(Успех));
Сообщить("Ошибочное выполнение запроса: "+Строка(Ошибка));
Можете поэксперементировать с текстами запроса посложнее, проблема должна проявиться."
Попробуйте для эксперемента написать что то вроде:
ТекстЗапроса="Номенклатура=Справочник.Номенклатура.ТекущийЭлемент;
|Группировка Номенклатура;";
Запрос=СоздатьОбъект("Запрос");
Успех=0;
Ошибка=0;
Для i=1 По 100 Цикл
Если Запрос.Выполнить(ТекстЗапроса)=1 Тогда
Успех=Успех+1;
Иначе
Ошибка=Ошибка+1;
КонецЕсли;
КонецЦикла;
Сообщить("Успешное выполнение запроса: "+Строка(Успех));
Сообщить("Ошибочное выполнение запроса: "+Строка(Ошибка));
Можете поэксперементировать с текстами запроса посложнее, проблема должна проявиться."
Читают тему
(гостей: 1)