Изменить карточку продукта в детали Продукты в договоре.
Здравствуйте, уважаемые.
Возник вопрос(на ровном месте), вернее даже два:
1. Есть сервис добавления пользовательских полей, в нем есть карточка раздела Продукты, Продукты в документе, Продукты в счете и Продукты в задаче. Вопрос - где в разделе "Задачи" есть деталь "Продукты"? И где там вообще детали?
2. Основная деталь для нас "Продукты в договоре". Эта карточка не доступна для настройки пользовательских полей. Вопрос - почему?
Я умею добавлять поля в карточки через TSAdmin, но в данном случае я просто не знаю - куда копать, где найти карточку нужного мне окна, через которое добавляются продукты в договор.
Версия XRM + Service Desk 3.3.2.120.
Спасибо за любую подсказку.
Нравится
Здравствуйте, Алексей!
"Жигулев Алексей" написал:1. Есть сервис добавления пользовательских полей, в нем есть карточка раздела Продукты, Продукты в документе, Продукты в счете и Продукты в задаче. Вопрос - где в разделе "Задачи" есть деталь "Продукты"? И где там вообще детали?
Детали обычно находятся снизу, под основным реестром:
"Жигулев Алексей" написал:Основная деталь для нас "Продукты в договоре". Эта карточка не доступна для настройки пользовательских полей. Вопрос - почему?
Попробуйте добавить сервис Пользовательский полей для "Продукта в договоре", взяв за основу "Продукт в задаче" (т.е. создайте сервис и пропишите нужные поля по аналогии):
Алексей, карточка продуктов с деталей называется wnd_OfferingDetailEdit. Но она одна на все разделы. Поэтому, если Вам надо добавить что-то только для раздела Договоры - либо дописывайте логику в скрипт карточки, либо последуйте совету Ольги и добавляйте userfields для детали Продукт в договоре (см здесь Contracts\Details\Offerings\ и для примера здесь Documents\Details\Offerings\UserFields\uf_OfferingInDocument)
Окно любой детали можно просмотреть в свойстве Window элемента WindowContainer для детали в сервисе раздела:
И вопрос к Террасофту)
почему UF не добавлены в договоры?
Здравствуйте.
Их всегда можно добавить :)
Также сообщу разработчикам - после анализа, данный функционал возможно будет включен в "коробку".
Спасибо, сейчас как раз разбираюсь с советом Ольги и тут вовремя Дмитрий подсказал, где еще посмотреть. Пока распутаю все связи сервисов - в понедельник отпишу о результате.
Как я и ожидал - "факир был пьян и фокус не удался" (с).
Все сделал по аналогии с сервисом "Продукт в документе", за исключением связки с типами договоров. В редакторе пользовательских полей удалось добавить нужное мне поле, но при сохранении карточки - пишет, что не найдено соответствие типов и мое поле не появилось в карточке добавления продукта в договор. Получается, что связка с типами - это критично?
Алексей, здравствуйте.
Необходимо указать связку с колонкой типов. Ведь при добавлении пользовательского поля, мы должны указать для какого типа оно будет отображено.
Здравствуйте.
Я связал типы договоров с вновь созданым сервисом пользовательских полей для "Продукты в договоре", но возникает еще вопрос - как должно заполняться поле типа договора в tbl_OfferingInContract ? В сервисах-то я его прописал везде, а вот заполнения не происходит автоматом. Значит где-то код в скрипте каком-то надо указывать еще?
Алексей, не совсем понятно... При открытии новой карточки редактирования, после заполнения поля связанного с полем типов для пользовательских полей, будут дополнительно отображены пользовательские поля для данного типа (если они существуют). При открытии текущей карточки, поле тип уже заполнено, соответственно поля(если такие есть) будут отображены.
Я немного неправильно сформулировал вопрос: пользовательское поле не появляется в карточке вообще. Я смотрел напрямую в таблицу, где прописывал поле, по которому идет связь с таблицей "tbl_OfferingInContract"
<...LEFT OUTER JOIN "TS"."tbl_ContractType" "tbl_ContractType" ON "tbl_ContractType"."ID" = "tbl_OfferingInContract"."ContractTypeID">
Так вот "tbl_OfferingInContract"."ContractTypeID" - null. Поэтому и связки никакой не происходит.
Алексей, а Вы для своих полей добавили в карточке настройки этих самых полей, для каких типов они будут отображены?
Здравствуйте.
Я содал доп. поле для всех типов договоров. Т.е. в карточке настройки пользовательских полей все типы из ContractType присутствуют. Но потом, по идее, при добавлении продукта в деталь Продукты тип договора должен как-то прописаться в таблицу tbl_OfferingInContract, но его там нет.
Нет, он там не должен прописываться. А зачем? В таблице tbl_OfferingInContract есть ссылка на договор (ContractID), в котором в свою очередь указан тип (tbl_Contract.TypeID). Вернее даже не сам тип, а ссылка на справочник типов (tbl_ContractType).
Нет необходимости дублировать одни и те же данные.
Тогда я не очень понимаю, куда мне двигаться, в каком направлении еще смотреть. Я все сделал по аналогии с сервисом "Продукт в документе", но все равно не вижу доп. поля в карточке "Продукт в договоре". Может есть дополнительно какой-то скрипт, который за все в ответе?
TS_AG.pdf
а так же разделы #5.4 и #6
http://www.community.terrasoft.ru/developer/faq/1903
http://www.community.terrasoft.ru/developer/faq/1904
http://www.community.terrasoft.ru/developer/faq/3945
http://www.community.terrasoft.ru/node/3552
а потом начните сначала). Мне всегда помогает
Вы не прочитали самое начало моего поста.
Как настраивать пользовательские поля в стандартном справочнике я и так знаю и умею, слава богу трехдневные курсы не прошли даром :smile:
Проблема в том, что изначально нужного мне сервиса для настройки не присутствует в этом справочнике, поэтому я его добавил по аналогии с сервисом "Продукт в документе". После добавления "появилась" возможность создать пользовательское поле через стандартный интерфейс пользователя. Но именно что "появилась" в кавычках, потому что поле в карточке добавления продукта не появляется.
Надо бы наверно добавить поле ContractTypeID (со связью) в таблицу tbl_OfferingInContract, селект и датасет. А потом в uf_OfferingInContract в свойствах сервисов в поля "Поле типа таблицы" поставить ContractTypeID.
ContractTypeID можно по идее заменить на любое другое поле справочника (чтобы работало аналогично ТИПУ)
И вообще... Мы же не телепаты . Скидывайте сервисы, чтобы было понятно что именно у Вас не работает
Думал, что действительно придется выкладывать сервисы и "картинки", но обошлось.
Сравнил два скрипта и внес необходимые правки в код одного из них. Какие и куда - не скажу. Потому что про скрипты я спрашивал, но никто не подсказал. :cry:
Спасибо всем Дмитриям и Ольге!!! Пока все работает, как хотелось :smile: