Имя: Пароль:
1C
1С v8
СКД, пакетный запрос, вычисл. поля, передать в функцию рез-тат 1го из запросов?
0 Живой Ископаемый
 
07.12.15
12:33
1. Можно, сейчас расскажу как 0% (0)
2. Нельзя, готовь по-другому 0% (0)
Всего мнений: 0

В СКД-отчете без программирования (то есть стандартная кнопка Сформировать) источником данных - Пакетный запрос, в первом запросе готовится временная таблица, которая нужна для сервиса.

Есть вычисляемое поле, в выражении которого, написано такое:
МойМодуль.ПолучитьДатуПоследнейОплатыДляДоговора(Договор), где Договор - поле СКД.

Теперь я хочу изменить функцию (и ее вызов также) таким образом, чтобы она принимала или результат запроса или ТЗ, а вызов ее переделать вот таким образом:
МойМодуль.ПолучитьДатуПоследнейОплатыДляДоговора(Договор, ВременнаяТЗПолученнаяВПервомЗапросеПакета)

....


Собственно, вопрос наверное должен звучать так - как обратиться к результату одного из запросов пакетного запроса внутри CRL/

есть идеи?
1 Живой Ископаемый
 
07.12.15
12:37
Ну. и чтобы вторую ветку не создавать - я могу внтури вычисляемого поля обратиться к параметрам СКД?
Могу например написать

МойМодуль.ПолучитьДатуПоследнейОплатыДляДоговора(Договор, &ДатаФормированияОтчета)

?
2 Живой Ископаемый
 
07.12.15
12:38
А к полям отбора?
3 ИсчадиеADO
 
07.12.15
12:44
в вычисляемых полях можно так написать
4 ИсчадиеADO
 
07.12.15
12:45
сорри вопрос не дочитал
5 ИсчадиеADO
 
07.12.15
12:47
(1) так а что не получилось?
6 Живой Ископаемый
 
07.12.15
12:49
2(5) Ну вот к текущему моменту
МойМодуль.ПолучитьДатуПоследнейОплатыДляДоговора(Договор, &ДатаФормированияОтчета)
Значение &ДатаФормированияОтчета внутри функции - неопределено, хотя в СКД этот параметр заполнен.
Но ладно, я могу это поле и в запрос поместить отдельно, без вывода в отчет. Но все-же, например к значениям отбора и к отдельному результату пкаетного запроса доступ поиметь хотелось бы.
7 ИсчадиеADO
 
07.12.15
12:53
может тебе в кешируемом на время серв вызова польз настройки закешировать?
8 ИсчадиеADO
 
07.12.15
12:58
с таблицей не знаю. точнее есть вариант как я делал, но как то он через 2 схемы, сам понимаешь...
9 Живой Ископаемый
 
07.12.15
13:00
2(7) м... что например?
Ну в общем ты правильно все понял. Но например не хотелось бы там хранить огромный массив данных. Если пользователь формирует отчет с отбором, то и в кэше я бы хотел иметь данные с учетом этого отбора, вот собственно и задаюсь вопросм - к каким чамтям самой схемы СКД, ее настройкам могу обращаться внутри вычисляемых полей
10 ЧеловекДуши
 
07.12.15
13:13
(0) СКД и Пакетный запрос, + без кодинга, все только мышкой.
Вы программист? :)
11 ЧеловекДуши
 
07.12.15
13:15
(9) Чет вы думаете не о том. Какое экономе?
Вы еще запрос не показали, может он избыточен.
СКД само неплохо оптимизирует, что порой бывает приходится расстраиваться :)
12 DmitrO
 
07.12.15
13:16
(1)тут доступ есть только полям, соответственно как-то так:
МойМодуль.ПолучитьДатуПоследнейОплатыДляДоговора(Договор, ПараметрыДанных.ДатаФормированияОтчета)
13 ЧеловекДуши
 
07.12.15
13:17
+ (0) И если вы думаете, что временные таблицы будут уничтожены в конце работы с отчетом, то не факт. Лучше что бы на верняка, удалять и временные таблицы :)
14 Живой Ископаемый
 
07.12.15
13:19
2(12) Поле не найдено "параметры данных"
15 Живой Ископаемый
 
07.12.15
13:19
ПараметрыДанных
16 ИсчадиеADO
 
07.12.15
13:20
(9) через 2 схемы это так: есть схема1 тип источника запрос. и схема 2 один из типов источника таблица. тот которая 2ая схема она основная. программно сначала выполняем первую схему. но для ее получения программно пытаемся скопировать польз настройки, проверяя доступность полей. выгружаем результат в тз, выполняем над ней нечто и кладем в схему 2. довольно трудоемко было.
17 DmitrO
 
07.12.15
13:22
(14)у параметров (закладка Параметры в схеме) должен стоять флажок Включать в доступные поля
18 Живой Ископаемый
 
07.12.15
13:25
2(16) я Понял, сенкс...
Если программно - тогда конечно все проще, и я бы действительно обращался ко всем значениям настройки СКД
, и к параметрам, и отборам, и их значениям, и выполнил бы тот первый запрос программно даже еще до выполнения основного запроса СКД, и поместил бы его результат например в параметры сеанса...
Хотелось посто вообще без программирования. но видимо не получится...
Спасибо.
19 DmitrO
 
07.12.15
13:26
(0)результат компоновки всегда только один - результат последнего запроса, такое не возможно.
Придется данные по оплате включать в конечный результат (подцепить, сгруппировать).
20 Живой Ископаемый
 
07.12.15
13:29
21 ИсчадиеADO
 
07.12.15
13:33
тут можно подцепить файлик без файлообменников?
22 Живой Ископаемый
 
07.12.15
13:34
(21)м... Нет, но спасибо, не нужно, я уже понял куда двигаться...
23 ИсчадиеADO
 
07.12.15
13:37
(22) ок :) будешь через 2 схемы, или как то иначе? че выбрал то?
24 Живой Ископаемый
 
07.12.15
13:38
быду через программирование. :)
Программист всегда исправляет последнюю ошибку.