Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Чт Авг 02, 2018 15:35   |
|
Полезность: Нет оценки
|
сделал вот так и вроде работает
Код: | if p_info = 'P_POSITION' then
for ii in P_POSITION.first..P_POSITION.last
loop
debug_pipe(P_POSITION(ii)%id, 0);
debug_pipe(P_POSITION(ii).LAST_CHANGE.CASTA.[VALUE], 0);
debug_pipe(P_POSITION(ii).LAST_CHANGE.CASTA, 0);
l_qwerty := P_POSITION(ii).LAST_CHANGE.CASTA.[VALUE];
--V_GRID(ii).REMARK := l_qwerty;
V_POS(ii) := l_qwerty;
--V_GRID(ii).LAST_CHANGE.CASTA.[VALUE] := P_POSITION(ii).LAST_CHANGE.CASTA;
--V_GRID(ii).[depart].[name] := P_POSITION(ii).[depart];
end loop;
V_CNT := V_POS.count;
elsif p_info = 'V_DEL' then
V_POS.delete;
V_CNT := V_POS.count;
end if; |
1) добавил строковую переменную - из нее сделал грид
2) объявил внутреннюю переменную (можно и напрямую сделать!)
3) присвоил внутренней переменной значение из массива
4) строковой переменной присвоил имя внутренней переменной. |
|
 |
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Пт Авг 03, 2018 06:04   |
|
Полезность: Нет оценки
|
Псевдоним123 пишет: | у меня P_POSITION и V_GRID - это Ссылка на "Кадры. Штатное расписание". |
Сделайте V_GRID не ссылкой, а самой структурой "Кадры. Штатное расписание".
Присваивание делайте так:
Код: | for ii in nvl(P_POSITION.first, 1) .. nvl(P_POSITION.last, 0)
loop
V_GRID(ii)%id := P_POSITION(ii);
V_GRID(ii).[name] := P_POSITION(ii).[name];
V_GRID(ii).[remark] := P_POSITION(ii).[remark];
end loop; |
А на экранную форму в грид вытащите те поля, которые будете в коде заполнять. Не забывайте, что эти поля нужны только для визуализации, а реально идентификатор записи хранится в реквизите %id (в гриде не отображается). |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Пт Авг 03, 2018 10:22   |
|
Полезность: Нет оценки
|
структуру "Кадры. Штатное расписание" не нашел, оставил так как есть.
может кто-нибудь знает как можно обратиться к этому массиву, чтобы циклом вытащить данные?? |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Пт Авг 03, 2018 10:40   |
|
Полезность: Нет оценки
|
пробовал так, не помогло...
Код: | sc := V_POS.first;
while sc is not null
loop
::[RUNTIME].[WORD].Add_TabRow (idxTb3);
::[RUNTIME].[WORD].Set_CellValue (idxTb3, 2, V_POS(sc));
::[RUNTIME].[WORD].Set_CellValue (idxTb3, 3, 'что-то3');
--::[RUNTIME].[WORD].Add_TabRow (idxTb3);
::[RUNTIME].[WORD].Update_Fields;
sc := V_POS.next(sc);
end loop;
|
|
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Пт Авг 03, 2018 10:50   |
|
Полезность: Нет оценки
|
все норм, работает. |
|
 |
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Пт Авг 03, 2018 11:44   |
|
Полезность: Нет оценки
|
Псевдоним123 пишет: | структуру "Кадры. Штатное расписание" не нашел, оставил так как есть.
может кто-нибудь знает как можно обратиться к этому массиву, чтобы циклом вытащить данные?? |
Странно, ссылка есть, а типа нет? |
|
 |
Псевдоним123 Участник - экстремал
Вступление в Клуб: 05.06.2018
|
Пт Авг 03, 2018 13:18   |
|
Полезность: Нет оценки
|
ссылка есть, а структуру не нашел. |
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Пн Авг 06, 2018 10:00   |
|
Полезность: 1
|
Это справочник PRS_STAFF |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Пн Авг 06, 2018 17:29   |
|
Полезность: 1
|
Псевдоним123 пишет: | ссылка есть, а структуру не нашел. |
в админе словаря есть полезная галка "отображать структуры и справочники" тогда они будут отображаться в одном списке |
|
 |
|