|
|
| ||
Гений 1С 04.12.20 - 12:37 | Рарус-конфа на базе БП3. Модуль менеджера ПКО.
Встречаю вот такой код в языке запросов: |ВЫБРАТЬ | Реквизиты.Дата КАК Период, | Реквизиты.Ссылка КАК Регистратор, | ..., |ИЗ | Документ.ПриходныйКассовыйОрдер КАК Реквизиты |ГДЕ | Реквизиты.Ссылка = &Ссылка |; | | |ВЫБРАТЬ | 1 КАК НомерСтроки, | Реквизиты.СчетУчетаРасчетовСКонтрагентом КАК СчетКт, | Реквизиты.СубконтоКт1 КАК СубконтоКт1, | Реквизиты.СубконтоКт2 КАК СубконтоКт2, | Реквизиты.СубконтоКт3 КАК СубконтоКт3, | ... | Реквизиты.ПодразделениеОрганизации КАК ПодразделениеДт, | Реквизиты.СуммаДокумента КАК ВалютнаяСумма, | ВЫРАЗИТЬ(Реквизиты.СуммаДокумента * &КоэффициентРуб КАК ЧИСЛО(15, 2)) КАК СуммаРуб |ИЗ | Реквизиты КАК Реквизиты Сижу, чешу репу - это как? Реквизиты - это ж вроде не временная таблица, каким образом она становится доступна далее, в пакете запроса? Это что за новые веяния в языке запросов, а? | ||
polosov 1 - 04.12.20 - 12:41 | А менеджер временных таблиц не определяется случайно нигде? | ||
Гений 1С 2 - 04.12.20 - 12:50 | (1) Определяется:
Запрос = Новый Запрос;
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Но ведь Реквизиты - это ж не ВТ, там нет Поместить? | ||
RomanYS 3 - 04.12.20 - 12:53 | (2) Чудес не бывает... запускаю БП3 :) | ||
trdm 4 - 04.12.20 - 12:55 | (0) замены строки запроса нет нигде? | ||
polosov 5 - 04.12.20 - 12:55 | (2) Результат = Запрос.ВыполнитьПакетСПромежуточнымиДанными();
Сделай и проанализируй. | ||
Гений 1С 6 - 04.12.20 - 12:55 | (3) если че, это модуль менеджера ПКО, функция ТекстЗапросаРеквизитыДокумента и ТекстЗапросаПрочееПоступление
Правда, конфа древненькая, счас хз может уже переписали. | ||
Гений 1С 7 - 04.12.20 - 12:56 | (4) я финальный запрос тебе выложил, который передается на ВыполнитьПакет | ||
RomanYS 8 - 04.12.20 - 12:58 | (6)
Запрос = Новый Запрос; МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; .... ПодготовитьПараметрыРеквизитыДокумента(Запрос, ПараметрыПроведения, Отказ)//вот здесь поместить .... //а здесь вызов ТекстЗапросаПрочееПоступление() | ||
Гений 1С 9 - 04.12.20 - 12:58 | Может быть это в пакетных запросах происходит неявное помещение таблиц во временные?
В результате пакета три таблицы, ровно по числу запросов в пакете. (там еще есть второй запрос по другим таблицам, я его вырезал) | ||
RomanYS 10 - 04.12.20 - 13:00 | Помещение явное, оно сделано ранее и ВТ живут в МВТ. В финишном тексте запроса помещения уже нет, оно и не нужно | ||
Гений 1С 11 - 04.12.20 - 13:00 | (5) ради прикола проанализировал:
Результат = Запрос. ВыполнитьПакетСПромежуточнымиДанными();
Результат = Запрос.ВыполнитьПакет();
Результаты идентичны. Ничего не понимаю. | ||
Гений 1С 12 - 04.12.20 - 13:01 | (10) а да, сукко. Вот это чудеса извращенного мышления! Офигеть...
Они до этого вызывают в ПодготовитьПараметрыРеквизитыДокумента "ВЫБРАТЬ
| Реквизиты.Дата КАК Дата,
| Реквизиты.Ссылка КАК Ссылка,
| Реквизиты.ВидОперации КАК ВидОперации,
..
| КОНЕЦ КАК ЭтоВозврат
|ПОМЕСТИТЬ Реквизиты
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК Реквизиты
|ГДЕ
Жесть.
Ну слава богу, а то я думал, у меня крыша едет. | ||
polosov 13 - 04.12.20 - 13:02 | (12) В следующий раз просто запускай глобальный поиск по "поместить реквизиты" | ||
Гений 1С 14 - 04.12.20 - 13:08 | (13) до этого еще надо было додуматься, видишь ли. Я думал, это некая магия. ;-) | ||
БаксПо90 15 - 04.12.20 - 13:13 | а ты говоришь 1800 .. старость дело такое, все хотят есть .. но всем нужны молодые и красивые | ||
RomanYS 16 - 04.12.20 - 13:18 | (14) А почему ты это кросс-таблицами назвал? | ||
ADirks 17 - 04.12.20 - 13:30 | Если физику в школе не учить, то весь мир вокруг будет преисполнен магии | ||
Гений 1С 18 - 04.12.20 - 13:36 | (16) ну как-то так в голову пришло. Типа таблица, использованная в одном месте, доступна в другом. Кросс | ||
Гений 1С 19 - 04.12.20 - 13:37 | (17) Ай-вэй, к нам пришел Самый Умный. А ты точно Самый Богатый? | ||
ADirks 20 - 04.12.20 - 13:44 | (19) А у меня комплекса неполноценности нет, шоб его богатствами компенсировать | ||
PR 21 - 04.12.20 - 13:48 | Гений проморгал написанное им же в (0) "Документ.ПриходныйКассовыйОрдер КАК Реквизиты" и такой "О, здесь еще и море есть!" | ||
Гений 1С 22 - 04.12.20 - 13:49 | (20) Понятно, Идейно Бедный. Держи Пятюню. | ||
Гений 1С 23 - 04.12.20 - 13:49 | (21) Перечитай плиз тему, а то у тебя сложилось поверхностное и неправильное понимание сути вопроса. | ||
polosov 24 - 04.12.20 - 13:50 | (21) Так наоборот он это увидел, но не увидел помещение в ВТ. | ||
PR 25 - 04.12.20 - 13:52 | (24) Это было очевидно, что он запикал помещение точками | ||
youalex 26 - 04.12.20 - 13:57 | (14) Чудо не в том, чтобы летать по воздуху или ходить по воде, но в том, чтобы ходить по земле. | ||
Гений 1С 27 - 06.12.20 - 17:42 | (25) нет. ты так и не въехал в тему, перекури ее еще раз, если надо, исходники в БП3 посмотри. Могу и словами объяснить. | ||
Гений 1С 28 - 06.12.20 - 17:42 | (24) вот-вот. | ||
Гений 1С 29 - 06.12.20 - 17:43 | (24) а не увидел, ибо оно было за километр от второго запроса, в лучших традициях ЗУП, хотя это и не ЗУП, а БП3 | ||
ДедМорроз 30 - 06.12.20 - 18:56 | Менеджер временных таблиц для этого и нужен,что поместил,а потом достал.
Только вот непонятно,что с параллельным выполнением,если кто-то в другом сеансе в основную таблицу допишет или ещё лучше удалит из нее. Рекламное место пустует | ||
Ненавижу 1С 31 - 06.12.20 - 19:08 | (30) параллельные вычисления можно будет распараллеливать только на клиенте.
Менеджер временных таблиц живет на сервере от начала вызова сервера, до окончания выполнения серверного кода |
|
Список тем форума |