Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Ср Апр 26, 2017 11:44  Создание объекта через операцию «Добавить. Отпуск» |
|
Полезность: Нет оценки
|
Добрый день, уважаемые знатоки.
Вопрос заключается в следующем.
При программирование, после создания объекта операцией "Добавить. Отпуск" ТБП "Кадры. Список сотрудников", возникает проблема, не правильно заполняется переменная "Расчет количества дней отпуска" "V_DAY_LEAVE".
В данный гред в поле "Использовать" подставляется количество дней из
"Период работы сотрудника" "Остоток"
Получается следующим образом "Период отпуска" с 10,04,17 по 12,04,17
в днях получается 3 дня и должно быть в 3 в гриде "Использовать" А подставляется Остаток из выбранного Периода работы. Остаток у нас 18 дней. И получается Период отпуска с 10,04,17 по 12,04,17 а дней Использовать 18
Переменную "V_DAY_LEAVE" в своей процедуре заполняю следующим образом.
p_DAY_LEAVE(1).[ST_1] := null;
p_DAY_LEAVE(1).[ST_2] := null;
p_DAY_LEAVE(1).[SUMMA_1] := 5;
p_DAY_LEAVE(1).[INTEGER_1] := Date_e - Date_s;
p_DAY_LEAVE(1).[ST_3] := null;
Подскажите пожалуйста, может кто сталкивался с подобного рода проблемой. Как заполнить данную переменную, что бы результат ее отображения был верным?[/img] |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Апр 26, 2017 11:56  Re: Создание объекта через операцию «Добавить. Отпуск» |
|
Полезность: Нет оценки
|
Programmer пишет: | p_DAY_LEAVE(1).[INTEGER_1] := Date_e - Date_s;
|
А что мешает продебагить Date_e и Date_s ?
Ищите место где эти даты меняются. |
|
 |
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Ср Апр 26, 2017 12:01  Re: Создание объекта через операцию «Добавить. Отпуск» |
|
Полезность: Нет оценки
|
yaffil пишет: | Programmer пишет: | p_DAY_LEAVE(1).[INTEGER_1] := Date_e - Date_s;
|
А что мешает продебагить Date_e и Date_s ?
Ищите место где эти даты меняются. |
Ставил.
Все бы было так легко.
Разница дат дает мне нужное число. И записывается в данную переменную нужное число.
Но вот когда операция создана и подымается на редактирование число уже там совершенно другое. |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Апр 26, 2017 12:03  Re: Создание объекта через операцию «Добавить. Отпуск» |
|
Полезность: Нет оценки
|
Programmer пишет: | Но вот когда операция создана и подымается на редактирование число уже там совершенно другое. |
Не бейте сильно, но я не вкурил смысл этой фразы
Если у вас расширение дистрибутивной то, p_DAY_LEAVE(1).[INTEGER_1] там скорее всего пере инициализируется по своему. |
|
 |
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Ср Апр 26, 2017 13:00  Re: Создание объекта через операцию «Добавить. Отпуск» |
|
Полезность: Нет оценки
|
yaffil пишет: | Programmer пишет: | Но вот когда операция создана и подымается на редактирование число уже там совершенно другое. |
Не бейте сильно, но я не вкурил смысл этой фразы
Если у вас расширение дистрибутивной то, p_DAY_LEAVE(1).[INTEGER_1] там скорее всего пере инициализируется по своему. |
смысл фразы в следующем. После создания объекта. Я в АРМе нахожу его и подымаю на редактирования F3 и в форме вижу не верное число.
Можешь подсказать куда копать?
Или возможно проблему можно разрешить, если исследовать операцию "Изменить. Отпуск" "EDIT_LEAVE". |
|
 |
Trei Участник со стажем
Вступление в Клуб: 11.08.2013
|
Ср Апр 26, 2017 14:20   |
|
Полезность: Нет оценки
|
Информации недостаточно, чтобы делать предположения. Что за операция? Ваша, или расширение к дистрибутивной?
Ищите в коде, чудес не бывает, начните с дебага перед вставкой, посмотрите, что в итоге вы пишете в реквизиты создаваемого экземпляра. |
|
 |
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Ср Апр 26, 2017 14:28   |
|
Полезность: Нет оценки
|
Trei пишет: | Информации недостаточно, чтобы делать предположения. Что за операция? Ваша, или расширение к дистрибутивной?
Ищите в коде, чудес не бывает, начните с дебага перед вставкой, посмотрите, что в итоге вы пишете в реквизиты создаваемого экземпляра. |
Операция как и написал дистрибутивная.
Отладки ставил. При создании операции, количество дней в пайпе правильное. Но когда подымаю объект на редактировать F3 то дни стоят в гриде не верные.
Какую еще информацию необходимо представить? Скажите пожалуйста. |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Ср Апр 26, 2017 14:40   |
|
Полезность: Нет оценки
|
Programmer пишет: | Отладки ставил. При создании операции, количество дней в пайпе правильное. Но когда подымаю объект на редактировать F3 то дни стоят в гриде не верные.
Какую еще информацию необходимо представить? Скажите пожалуйста. |
Странно это слышать от программера с 14го года как на форуме зареганного
Вы себя то слышите вообще?
Programmer пишет: |
При создании операции, количество дней в пайпе правильное. Но когда подымаю объект на редактировать F3 то дни стоят в гриде не верные. |
Если открыть посмотреть вызываемую операшку, то сразу же в дефолте видим:
if P_WORK_PER is not null then
idx := 1;
V_DAY_LEAVE.delete;
For d in P_WORK_PER.[PLAN_DAY] loop
V_DAY_LEAVE(idx).[ST_1] := d.[KIND_LEAVE].[NAME];
V_DAY_LEAVE(idx).[ST_3] := d.[KIND_LEAVE];
V_DAY_LEAVE(idx).[ST_2] := to_char(d.[AMOUNT],'999999990.00');
V_DAY_LEAVE(idx).[INTEGER_1] := trunc(d.[AMOUNT],0);
V_DAY_LEAVE(idx).[SUMMA_1] := 0;
idx := idx+1;
End Loop;
&debug('После обработки отпусков',3) |
|
 |
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Ср Апр 26, 2017 14:55   |
|
Полезность: Нет оценки
|
yaffil пишет: |
Странно это слышать от программера с 14го года как на форуме зареганного
Вы себя то слышите вообще?
|
Что конкретно, не понятно!?
И что я должен услышать?
 |
|
 |
nairka1973 Участник
Вступление в Клуб: 22.11.2012
|
Ср Апр 26, 2017 17:38   |
|
Полезность: Нет оценки
|
У меня, когда меняю период отпуска, то и "использовать" меняется |
|
 |
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Ср Апр 26, 2017 17:38   |
|
Полезность: Нет оценки
|
Ребята, проблему решил. Всех благодарю за помощь. |
|
 |
|