Имя: Пароль:
1C
1С v8
Использование временных таблиц! Ну ооооочень надо)
0 zebrakhv
 
24.04.13
06:36
Доброго времени суток! Нужно разобраться с запросом. Написала что-то)) пакетный запрос с использованием временных таблиц. Верно ли вообще такое написание запроса и если да то как получить доступ к полям временных таблиц?


МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст = "
|ВЫБРАТЬ
|    РаботникиОрганизаций.Регистратор КАК Регистратор,
|    ПриемНаРаботуВОрганизацию.Дата КАК ДатаПриема,
|    РаботникиОрганизаций.Период КАК ДатаПеремещения,
|    ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник КАК Сотрудник,
|    РаботникиОрганизаций.Должность КАК Должность,
|   РаботникиОрганизаций.Сотрудник.Физлицо КАК ФизЛицоСотрудник,
|    РаботникиОрганизаций.Организация.ИндивидуальныйПредприниматель.Наименование КАК ИндивидуальныйПредпринимательИмя,
|    РаботникиОрганизаций.Организация КАК ЮрЛицоИмя
|ПОМЕСТИТЬ втДокументы
|ИЗ
|    РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
|        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуВОрганизациюРаботникиОрганизации
|            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботуВОрганизацию КАК ПриемНаРаботуВОрганизацию
|            ПО ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка = ПриемНаРаботуВОрганизацию.Ссылка
|        ПО РаботникиОрганизаций.Сотрудник = ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник
|ГДЕ
|    РаботникиОрганизаций.Регистратор = &Регистратор
|;
|ВЫБРАТЬ
|    втДокументы.Сотрудник,
|    ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия КАК СерияПаспортаФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер КАК НомерПаспортаФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ДокументДатаВыдачи КАК ДатаВыдачиФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ДокументКемВыдан КАК КемВыданФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ДокументКодПодразделения КАК КодПодразделенияФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо.СтраховойНомерПФР КАК ПФРФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо.ИНН КАК ИННФизЛицо
|ПОМЕСТИТЬ втСотрудник
|ИЗ
| втДокументы
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних КАК ПаспортныеДанныеФизЛицСрезПоследних
|        ПО втДокументы.ФизЛицоСотрудник = ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо
|;
|ВЫБРАТЬ
|вт.Документы.ЮрЛицоИмя,
|ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия КАК СерияПаспортаФизЛицоОрг,
|ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер КАК НомерПаспортаФизЛицоОрг,
|ПаспортныеДанныеФизЛицСрезПоследних.ДокументДатаВыдачи КАК ДатаВыдачиФизЛицоОрг,
|ПаспортныеДанныеФизЛицСрезПоследних.ДокументКемВыдан КАК КемВыданФизЛицоОрг,
|ПаспортныеДанныеФизЛицСрезПоследних.ДокументКодПодразделения КАК КодПодразделенияФизЛицоОрг,
|ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо.СтраховойНомерПФР КАК ПФРФизЛицоОрг,
|ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо.ИНН КАК ИННФизЛицоОрг
|ПОМЕСТИТЬ ОрганизацияЮрЛицо
|ИЗ
|втДокументы
|  ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних КАК ПаспортныеДанныеФизЛицСрезПоследних
|        ПО втДокументы.ФизЛицоСотрудник = ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо";

Запрос.УстановитьПараметр("Регистратор",фпвКадровоеПеремещение);//Дата
РезультатЗапроса = Запрос.ВыполнитьПакет();
1 Wobland
 
24.04.13
06:39
выбрать втДокументы.ЮрЛицоИмя
из втДокументы КАК втДокументы
в крайнем запросе. не вчитывался
2 Wobland
 
24.04.13
06:40
а вообще, временные таблицы без фото иногда не взлетают
3 Wobland
 
24.04.13
06:41
ну и как бы это.. где итоговое выбрать (читай "без поместить")?
4 Живой Ископаемый
 
24.04.13
06:41
по временным таблицам у Чистова в открытом доступе видеоматериал.
5 RomaH
 
naïve
24.04.13
07:12
|ВЫБРАТЬ
|    втДокументы.Сотрудник,
|    ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия КАК СерияПаспортаФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер КАК НомерПаспортаФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ДокументДатаВыдачи КАК ДатаВыдачиФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ДокументКемВыдан КАК КемВыданФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ДокументКодПодразделения КАК КодПодразделенияФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо.СтраховойНомерПФР КАК ПФРФизЛицо,
|    ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо.ИНН КАК ИННФизЛицо
|ПОМЕСТИТЬ втСотрудник
|ИЗ
| втДокументы
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних КАК ПаспортныеДанныеФизЛицСрезПоследних
|        ПО втДокументы.ФизЛицоСотрудник = ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо

тут левое не обязательно
потом будет левое когда основную таблицу получать бдешь
6 zebrakhv
 
24.04.13
07:45
ок) а как обратиться к значению временной таблицы нужно писать что-то вроде:

Запрос.МенеджерВременныхТаблиц.втСотрудники ?

или как?
7 Sammo
 
24.04.13
07:49
(6) Обратиться к значение откуда?
Из запроса - см. выше.
Если снаружи - никак. Только доп. запрос, который будет возвращать выборку из временной таблицы.
Кстати, откройте для себя конструктор запросов.
8 Wobland
 
24.04.13
07:51
(6) поразмысли над (3)
9 zebrakhv
 
24.04.13
07:56
да открыла) просто я БЛОНДИНКА) надеюсь еще спастись)) спасибо за помощь
10 Wobland
 
24.04.13
07:57
теперь поразмысли над (2)
11 Wobland
 
24.04.13
07:58
Тематическая ветка форума подобна нераспустившейся розе, которую нужно осветить солнцем, помочь ей подняться. Только когда вопрос уже решён, девушке можно намекнуть про фотку... И тогда распустившаяся роза будет прекрасна!
13 НЕА123
 
24.04.13
08:06
в РезультатЗапроса лежит массив результатов.
в СП посмотреть сложно?
14 НЕА123
 
24.04.13
08:07
(13)+
а фотки нет. почему?
15 zebrakhv
 
24.04.13
08:35
у меня еще вопрос. тогда как мне поступить если необходимо выбрать данные из регистра сведений ПаспортныеДанныеФизЛиц как для сотрудника организации, так и для организации в том случае если организация это ИП? Это можно в одном запросе сделать?
16 vicof
 
24.04.13
08:38
Можно, но без фотки не получится. 100%
17 zebrakhv
 
24.04.13
08:44
сколько можно троллить)
18 Wobland
 
24.04.13
08:45
(15) можно
19 rasswet
 
24.04.13
08:50
почитай хоть Радченко. 50% вопросов отпадут. Неправильно программирование изучать "методом тыка"
20 Sammo
 
24.04.13
08:52
(17) Как задать вопрос по теме 1С или советы новичку. Автор - Сергей Токарев (GrayT).
Общие моменты
1. Четко сформулируйте свой вопрос.

+ Смотри 3
21 Wobland
 
24.04.13
08:55
(20) а где полностью лежит?
22 Kookish
 
24.04.13
09:00
(21) Вот тут, я полагаю: http://www.forum.mista.ru/rules.php
23 Wobland
 
24.04.13
09:01
(22) ох, ёмаё, слона я и не приметил ;)
24 cw014
 
24.04.13
09:09
Запрос с конструкцией ПОМЕСТИТЬ не возвращает записей, только их количество. Поэтому Пакет запросов тебе тут не поможет. Выход: после каждого временного запроса делать
ВЫБРАТЬ * ИЗ втСотрудник

Тогда результат в пакете получить можно
25 НЕА123
 
24.04.13
09:22
(24)
да, других вариантов не видать. в (13) я был не прав.
26 zebrakhv
 
25.04.13
07:22
спасибо за совет