Имя: Пароль:
1C
1C 7.7
v7: аналог выбор тогда когда иначе
,
0 zvivla
 
03.05.14
20:28
Здравствуйте.

В 8.1 и 8.2 Есть такая конструкция в запросе выбор тогда когда иначе

Попробовала в 7.7 реализовать это безобразия через обращение к функции в тексте запроса. Выдает ошибку: "Неверно заданный путь <Имя функции>".

А необходимо в зависимости от определенного параметра документа ставить Грузополучателя либо грузополучателем, либо грузоотправителем. Делать замену уже после выполнения запроса не вариант ибо килограмм группировок и прочее.

Заранее спасибо за советы.
1 zvivla
 
03.05.14
20:29
Вот так пробовала
|Грузополучатель     = ПолучитьГрузополучателя(Документ.АктПриемкиГруза);
2 Сияющий Асинхраль
 
03.05.14
20:31
Не надо делать замену. Надо просто запросом вытаскивать оба поля и по мере надобности использовать одно из них. Кстати, если мне память не изменяет, в семерке внешние функции в запросе могут возвращать только числовые значения :-(
3 zvivla
 
03.05.14
20:34
(2) Сортировка по грузополучателю собьется. Это только если в ТЗ все запихивать перебирать, а потом сортировать(
4 Сияющий Асинхраль
 
03.05.14
20:41
Да ладно, в семерке с ТЗ очень приятно работать. Там есть замечательная функция Заполнить с помощью которой удобно любые группировки творить...
5 zvivla
 
03.05.14
20:44
Хотелось обойтись малой кровью)
6 zvivla
 
03.05.14
20:46
Перебирать все же придется. Это не очень хорошо
7 akaBrr
 
03.05.14
21:48
(6) прямые запросы не предлагать?
8 Torquader
 
03.05.14
21:53
А грузополучатель, насколько я помню, или контрагент или грузополучатель.
В чём проблема - выбрать оба поля, а потом заполнить пустые первые по значениям вторых.
9 КонецЦикла
 
04.05.14
00:46
(6) В семерке можно использовать T-SQL, что приятнее восьмерочного языка запросов
10 zvivla
 
04.05.14
05:38
(7) Предлагать)
11 zvivla
 
04.05.14
05:39
(8) там нет пустых. просто в зависимости от одного реквизита документа в графу грузополучатель надо вставлять либо грузополучателя, либо грузоотправителя
12 Мигало
 
04.05.14
07:45
(11) Вот так пробывали ?

Контр = Документ.АктПриемкиГруза.Грузоотправитель, Документ.АктПриемкиГруза.Грузополучатель;
Грузоотправитель = Документ.АктПриемкиГруза.Грузоотправитель;
Грузополучатель = Документ.АктПриемкиГруза.Грузополучатель;

Группировка Контр без групп;
13 Эмбеддер
 
04.05.14
08:30
надо в документе сделать еще один реквизит, куда ПриЗаписи вписывать то, что нужно
14 zvivla
 
04.05.14
12:40
(12) Спасибо!  Хороший вариант, попробую