forum.bitel.ru
http://forum.bitel.ru/

При создании договора задать значение поля.
http://forum.bitel.ru/viewtopic.php?f=19&t=9132
Страница 1 из 1

Автор:  Lesto [ 08 апр 2014, 14:39 ]
Заголовок сообщения:  При создании договора задать значение поля.

Доброго времени суток.
в договоре есть поле Представитель
тип поля - Список.
в справочнике установлен список допустимых значений для представителей.

задача: при создании договора, заполнять поле Представители значением (просто ФИО представителя).
ФИО я получил. надо проверить, есть ли это ФИО в списке, в справочнике, если нет, то добавить и обновить значение поля в договоре, иначе, просто обновить значение поля.

работать просто как с текстовым полем не получилось, а как работает updateListParam я не понял.
Код:
ContractParameterManager cpm = new ContractParameterManager(con);
cpm.updateTextParam(cid, pid, name, uid);


p.s.
простите за этот поток сознания, просто разум предательски дезертировал...

Автор:  Phricker [ 08 апр 2014, 15:19 ]
Заголовок сообщения:  Re: При создании договора задать значение поля.

Код:
ListParamValue listParamValue = new ListParamValue();
listParamValue.setId(userMan);
listParamValue.setCustomValue("");
cpm.updateListParam(cid, manParamId, listParamValue, event.getUserId());

Автор:  Artur [ 08 апр 2014, 15:23 ]
Заголовок сообщения:  Re: При создании договора задать значение поля.

Phricker, опередил =) http://forum.bitel.ru/viewtopic.php?f=19&t=9133
Но, кажется, немного неверно у тебя.

Автор:  Phricker [ 08 апр 2014, 15:37 ]
Заголовок сообщения:  Re: При создании договора задать значение поля.

Ну если полностью, то у меня при создании договора берется привязанный к пользователю договор (агентская схема), оттуда при наличии выдирается значение спискового параметра и прописывается в созданный договор

Код:
User user = new UserManager(con).getUsersMap().get(event.getUserId());
int userCid = user.getContractCid();

int manParamId = 27; //ID параметра "Менеджер"
int userMan = cpm.getListParam(userCid, manParamId);


if(cm.getContractById(cid).getFc() == 1){
   if(userMan != 0){
      ListParamValue listParamValue = new ListParamValue();
      listParamValue.setId(userMan);
      listParamValue.setCustomValue("");
           
      cpm.updateListParam(cid, manParamId, listParamValue, event.getUserId());
   }
}


Вроде работает уже довольно давно.

Автор:  Artur [ 08 апр 2014, 15:44 ]
Заголовок сообщения:  Re: При создании договора задать значение поля.

Смутила переменная userMan, выдранная из контекста... Я ее неверно понял.

Автор:  Lesto [ 09 апр 2014, 10:54 ]
Заголовок сообщения:  Re: При создании договора задать значение поля.

что за проверка? её не проходит
Код:
if(cm.getContractById(cid).getFc() == 1){}

Автор:  skyb [ 09 апр 2014, 11:21 ]
Заголовок сообщения:  Re: При создании договора задать значение поля.

Юрлицо, физлицо с ноликом

Автор:  Phricker [ 09 апр 2014, 11:23 ]
Заголовок сообщения:  Re: При создании договора задать значение поля.

Это проверка на юридический статус договора. Можно выпилить. У меня скрипт отрабатывает только на юриков.
cm это ContractManager(con);

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/