Имя: Пароль:
1C
1С v8
Тип в запросе
0 volkVVV
 
04.05.14
10:15
Приветствую всех.
Возник вопрос, как задать в запросе тип значения полю?
ВЫБРАТЬ
|ТЗИсхДанных.Сотрудник,
|ТЗИсхДанных.ФизЛицо,
|ТЗИсхДанных.ВидРасчета,
......
|ПОМЕСТИТЬ ВТИсхДанных
|ИЗ
|&ТЗИсхДанных КАК ТЗИсхДанных
вот кусок моего запроса, значение в поле Сотрудник приходит как ОписаниеТипов, как задать этому полю тип СправочникСсылка.Сотрудники в запросе?
Заранее спасибо.
1 su_mai
 
04.05.14
10:21
(0) Рекомендую: http://www.1c-uc3.ru/web-zaprosy.html
Мне в свое время реально помогло. Я даже узнал что такое запрос в коррелированным подзапросом :)
2 Wobland
 
04.05.14
10:28
коррелированный подзапрос... чорт! как много нового в этой жизни
3 SeraFim
 
04.05.14
10:30
что-то не то у тебя в таблице значений)
4 vi0
 
04.05.14
10:39
(1) коррелированный использовал хоть раз?
5 su_mai
 
04.05.14
10:43
Ага даже в типовой :)
6 vi0
 
04.05.14
10:44
(5) какую задачу решал?
в типовой - это типовой код имеешь ввиду?
7 Web00001
 
04.05.14
11:35
(6)Меня интересует больше код, коррелированого подзапроса. Что за зверь такой что про него даже Гилев не в курсе.
8 su_mai
 
04.05.14
11:39
(7) http://www.1c-uc3.ru/web-zaprosy.html

Занятие 5. Некоторые практические приемы построения запросов.
1. Логический вентиль. Возможность отключения проверки условия в запросе при пустом значении параметра.
2. Коррелированный запрос.  Задача получения N последних курсов валют.

Не жалейте денег, в УЦ 3 все без обмана, реальная польза.
9 Web00001
 
04.05.14
11:41
(8)ты не умничай, ты код покажи :)
10 Web00001
 
04.05.14
11:45
+(9)Вдруг ты так вложенный запрос называешь :)
11 su_mai
 
04.05.14
11:46
(9) Конечно я ничего показывать не буду :).
http://g.zeos.in/?q=коррелированный%20подзапрос%201с
12 vi0
 
04.05.14
11:49
(10) это термин из стандартного языка sql
13 Web00001
 
04.05.14
11:51
(11)у меня ничего не происходит. Понт не засчитан :) не с запросом, не с гуглом. Оставь при себе я так понимаю, ты сам смутно понимаешь что это.
14 volkVVV
 
04.05.14
11:52
а что нибудь конкретного никто не может подсказать?
15 shuhard
 
04.05.14
11:53
(14) не а
16 su_mai
 
04.05.14
11:54
(13) Я тебе отвечу стандартно: какую задачу ты решаещь?
17 vi0
 
04.05.14
11:54
(14) в (3) тебе подсказали
18 volkVVV
 
04.05.14
11:55
соединяю 2 таблицы


"ВЫБРАТЬ
                   |    ТЧНачисления.Сотрудник,
                   |    ТЧНачисления.ФизЛицо,
                   |    ТЧНачисления.НомерСтроки,
                   |    ТЧНачисления.ВидРасчета,
                   |    ТЧНачисления.ПодразделениеОрганизации,
                   |    ТЧНачисления.ДатаНачала,
                   |    ТЧНачисления.ДатаОкончания
                   |ПОМЕСТИТЬ ВТНачисления
                   |ИЗ
                   |    &ТЧНачисления КАК ТЧНачисления
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ТЗИсхДанных.Сотрудник,
                   |    ТЗИсхДанных.ФизЛицо,
                   |    ТЗИсхДанных.ВидРасчета,
                   |    ТЗИсхДанных.Размер
                   |ПОМЕСТИТЬ ВТИсхДанных
                   |ИЗ
                   |    &ТЗИсхДанных КАК ТЗИсхДанных
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВТНачисления.НомерСтроки,
                   |    ВТНачисления.Сотрудник,
                   |    ВТНачисления.ФизЛицо,
                   |    ВТНачисления.ПодразделениеОрганизации,
                   |    ВТНачисления.ВидРасчета,
                   |    ВТИсхДанных.Размер,
                   |    ВТНачисления.ДатаНачала,
                   |    ВТНачисления.ДатаОкончания
                   |ИЗ
                   |    ВТНачисления КАК ВТНачисления
                   |        ЛЕВОЕ СОЕДИНЕНИЕ ВТИсхДанных КАК ВТИсхДанных
                   |        ПО ВТНачисления.ФизЛицо = ВТИсхДанных.ФизЛицо
                   |            И ВТНачисления.ВидРасчета = ВТИсхДанных.ВидРасчета";
19 Web00001
 
04.05.14
11:58
(16)Непонятно почему тебя это интересует, но если ты спрашиваешь... задача, собрать кубик рубика меньше, чем за 2 минуты. Именно сейчас я решаю эту задачу.
23 Wobland
 
05.05.14
03:23
так и знал. кто-то решил показать коррелированно умным
24 Wobland
 
05.05.14
03:23
(23) *показаться
25 su_mai
 
05.05.14
05:40
(24) ВЫБРАТЬ
    Курсы.Период КАК Период,
    Курсы.Валюта КАК Валюта,
    Курсы.Курс,
    Курсы.Кратность
ИЗ
    РегистрСведений.КурсыВалют КАК Курсы
ГДЕ
    Курсы.Период В
            (ВЫБРАТЬ ПЕРВЫЕ 6
                КурсыВложенный.Период
            ИЗ
                РегистрСведений.КурсыВалют КАК КурсыВложенный
            ГДЕ
                КурсыВложенный.Валюта = Курсы.Валюта)

УПОРЯДОЧИТЬ ПО
    Валюта,
    Период
26 Wobland
 
05.05.14
05:46
> ГДЕ
                КурсыВложенный.Валюта = Курсы.Валюта
а вот теперь дошло
27 su_mai
 
05.05.14
05:47
+(25) Термин корреляция в широком смысле раскрывается в статье и даже не на диске ИТС, а на любимом Хабре :) http://habrahabr.ru/post/172043/.
В узком смысле данной задачи означает взаимную связь множества данных получаемых вложенным запросом от данных каждой конкурентной строки внешнего запроса. Это реализуется по средством условия накладываемого на данные вложенного запроса на поле Валюта: КурсыВложенный.Валюта = Курсы.Валюта.
28 su_mai
 
05.05.14
05:48
(26) Минусы такого метода в том, что для каждой строки внешнего запроса происходит выборка данных вложенного запроса
29 su_mai
 
05.05.14
05:48
(26) Как оптимизировать?
30 su_mai
 
05.05.14
05:50
+(29) И можно ли связать наборы по двум условиям?
31 rphosts
 
05.05.14
06:30
(30) (Поле1, Поле2) В (Выбрать Т.Поле5, Т.Поле6 Из Таблица Т),  где Т - таблица (физическая, виртуальная или временная)

такой варинт использования подзапроса есть, но тебе-же нужно 6 для каждой из валют!

тогда будет быстрее через 2 запроса с разбором результатов первого в 1 цикле
32 su_mai
 
05.05.14
06:51
33 Sammo
 
модератор
05.05.14
07:01
(32) Давать ссылку на партнерку, к которой не у всех есть доступ несколько невежливо
34 su_mai
 
05.05.14
07:04
(33) Се ля ви (Таковы правила):

Цитировать отдельные высказывания участников форума и размещать их на других ресурсах разрешается только с соблюдением общепринятых в литературной среде правил цитирования:
   необходимо указывать имя автора и источник;
   высказывания необходимо оформлять кавычками.

Копирование без соблюдения этих правил, копирование целых веток или выборок сообщений участников не разрешается.
35 Wobland
 
05.05.14
07:06
(34) сначала разрешается, потом не разрешается. дурные они какие-то
36 lopus
 
05.05.14
07:39
И правда работает. Помню как то давно пробовал похожий запрос, не получилось.
37 SeraFim
 
05.05.14
07:50
Я не понял, о чем ветка?
38 rphosts
 
05.05.14
11:32
(33) +100500. Есесьно доступа нет, т.к. не партнёр.
39 rphosts
 
05.05.14
11:33
(34) а что-бы своими словами не обрисовать хотя-бы в первомп приближении
Программист всегда исправляет последнюю ошибку.