Имя: Пароль:
1C
1C 7.7
v7: Запрос врёт. Разница лишь в хранении данных, т.е. SQL или DBF
0 IgorTrifonov
 
01.03.13
12:34
обычный запрос к справочнику возвращает разные значения из одних и тех же данных
если база развёрнута в виде DBF, то этот запрос возвращает одно значение из реквизита ШПЗ_МСФО
если эта же база развёрнута в виде MS SQL 2000, то этот же запрос из этих же данных возвращает другое значение из реквизита ШПЗ_МСФО

сам реквизит ШПЗ_МСФО переодический

Запрос = СоздатьОбъект("Запрос");
ТЗ = "//{{ЗАПРОС(Сотрудники)
|Период с ВыбНачПериода по ВыбКонПериода;
|       Сотрудник = Справочник.Сотрудники.ТекущийЭлемент;
|СостояниеФизлица = Справочник.Сотрудники.СостояниеФизлица;
|   Подразделение = Справочник.Сотрудники.Подразделение;
|             ШПЗ = Справочник.Сотрудники.МестоРаботы.ШПЗ;
|        ШПЗ_МСФО = Справочник.Сотрудники.МестоРаботы.ШПЗ_МСФО;
|Условие(
|        (СостояниеФизлица = Перечисление.СостояниеФизлица.СотрудникОсновной) ИЛИ
|        (СостояниеФизлица = Перечисление.СостояниеФизлица.ВременноНеРаботает)
|       );
|Группировка Сотрудник без Групп;";
|"//}}ЗАПРОС
;

Если Запрос.Выполнить(ТЗ) =  0 Тогда
   Возврат;
КонецЕсли;
       

ПОКА Запрос.Группировка(1) = 1 Цикл
   Сч = Сч + 1;
   Состояние(Сч);
       
   ТЗР.НоваяСтрока();
   ТЗР.фио = Запрос.Сотрудник.Наименование;
   ТЗР.шпз = Лев(Запрос.ШПЗ_МСФО.Код,2);
       
   ... и так далее

Всем здрасьте и караул помогите.
В общем придётся сделать цикл, а не запрос. Но не хочется.
Спасибо.
1 ДенисЧ
 
01.03.13
12:35
не любит скулёвая 77 переменых через 3 точки...
Рисуй прямой запрос
2 IgorTrifonov
 
01.03.13
12:37
Понял, спасибо. Но как не хочется, а придётся.
3 КонецЦикла
 
01.03.13
12:39
Аккуратнее с однотипными группировками в SQL

http://pvv911.narod.ru/article/poleznie_melochi/

Выход есть
4 пипец
 
01.03.13
12:43
Запрос.ВключитьSQL(0)
5 Эмбеддер
 
01.03.13
12:50
(4) + 100
6 IgorTrifonov
 
01.03.13
12:57
Всем, всем, всем большое спасибо.
Я обязательно отработаю, но как-нибудь потом, если Вам очень захочется.
Класс!