Здравствуйте, уважаемые.
Возник вопрос(на ровном месте), вернее даже два:
1. Есть сервис добавления пользовательских полей, в нем есть карточка раздела Продукты, Продукты в документе, Продукты в счете и Продукты в задаче. Вопрос - где в разделе "Задачи" есть деталь "Продукты"? И где там вообще детали?
2. Основная деталь для нас "Продукты в договоре". Эта карточка не доступна для настройки пользовательских полей. Вопрос - почему?
Я умею добавлять поля в карточки через TSAdmin, но в данном случае я просто не знаю - куда копать, где найти карточку нужного мне окна, через которое добавляются продукты в договор.

Версия XRM + Service Desk 3.3.2.120.

Спасибо за любую подсказку.

Нравится

20 комментариев

Здравствуйте, Алексей!

"Жигулев Алексей" написал: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).

Нет необходимости дублировать одни и те же данные.

Тогда я не очень понимаю, куда мне двигаться, в каком направлении еще смотреть. Я все сделал по аналогии с сервисом "Продукт в документе", но все равно не вижу доп. поля в карточке "Продукт в договоре". Может есть дополнительно какой-то скрипт, который за все в ответе?

мануал? :mad:

страница? :cry:

Вы не прочитали самое начало моего поста.
Как настраивать пользовательские поля в стандартном справочнике я и так знаю и умею, слава богу трехдневные курсы не прошли даром :smile:
Проблема в том, что изначально нужного мне сервиса для настройки не присутствует в этом справочнике, поэтому я его добавил по аналогии с сервисом "Продукт в документе". После добавления "появилась" возможность создать пользовательское поле через стандартный интерфейс пользователя. Но именно что "появилась" в кавычках, потому что поле в карточке добавления продукта не появляется.

Надо бы наверно добавить поле ContractTypeID (со связью) в таблицу tbl_OfferingInContract, селект и датасет. А потом в uf_OfferingInContract в свойствах сервисов в поля "Поле типа таблицы" поставить ContractTypeID.
ContractTypeID можно по идее заменить на любое другое поле справочника (чтобы работало аналогично ТИПУ)

И вообще... Мы же не телепаты . Скидывайте сервисы, чтобы было понятно что именно у Вас не работает

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

Спасибо всем Дмитриям и Ольге!!! Пока все работает, как хотелось :smile:

Показать все комментарии

Здравствуйте, господа.
В определенный момент была обнаружена следующая ошибка: даже администратор не может удалить запись в разделе "Договоры", при попытке сделать это появляется предупреждени "Не удалено N из N записей. Нет доступа: N".

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

Подскажите, пожалуйста, где может крыться чудовищная ошибка.

Нравится

2 комментария

Я бы попробовал удалить эту запись в SQL Managment Studio и посмотрел бы, что на это MS SQL скажет :wink:

Оказалось, дело в слетевшем запросе на удаление. Всё пофиксил, спасибо за внимание.

Показать все комментарии