CftClub.ru
Клуб специалистов ЦФТ-Банк

Создание объекта через операцию «Добавить. Отпуск»

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 пишет:
Но вот когда операция создана и подымается на редактирование число уже там совершенно другое.


Не бейте сильно, но я не вкурил смысл этой фразы Embarassed
Если у вас расширение дистрибутивной то, p_DAY_LEAVE(1).[INTEGER_1] там скорее всего пере инициализируется по своему.
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеСр Апр 26, 2017 13:00   Re: Создание объекта через операцию «Добавить. Отпуск» Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
Programmer пишет:
Но вот когда операция создана и подымается на редактирование число уже там совершенно другое.


Не бейте сильно, но я не вкурил смысл этой фразы Embarassed
Если у вас расширение дистрибутивной то, 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го года как на форуме зареганного
Вы себя то слышите вообще?


Что конкретно, не понятно!?
И что я должен услышать?
Very Happy
nairka1973
Участник


Вступление в Клуб: 22.11.2012
СообщениеСр Апр 26, 2017 17:38    Ответить с цитатой
Полезность: Нет оценки
У меня, когда меняю период отпуска, то и "использовать" меняется
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеСр Апр 26, 2017 17:38    Ответить с цитатой
Полезность: Нет оценки
Ребята, проблему решил. Всех благодарю за помощь.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru