0
Є відповідь

Настройка вида карточки через Конфигуратор

Yurok 11 років тому оновлено Отдел внедрений (бизнес-аналитик) 11 років тому 19

Добрый день!

Подскажите как восстановить внешний вид карточки?

Предистория:

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

Image 151

Чтобы добиться корректной работы, это поле крайне необходимо, но увы подходящего атрибута в классе "Задачи" я не смог найти.

В итоге попытался создать собственный атрибут с соответсвующим типом поля. Который бы изменялся в зависимости от значения атрибута "состояние" на карточке "задачи". В итоге ничего не получилось и я хотел удалить поле моего атрибута с карточи.

Для начала я удалил сам атрибут, но он по прежнему отображался на карточке, тогда я попробовал удалить его с карточки путем выделения и нажатия клавиши DEL, непомогло. Решил вернуть её к первоначальному виду через контекстное меню Класса. НО! Я полагал что данная команда веренет карточку к виду ДО моих изменений! (см. скрин)Image 149


Вместо этого внешний вид карточки изменился до неузнаваемости!!!

И я попытался сам его восстановить. Вот что из этого получилось.

Image 150

Тогда я попытался закрыть Конфигуратор без нажатия на кнопку обновить БД. Но почему-то это не помогло и карточка в самом КК имеет убогий вид.

Т.е. я разместил все поля, которые были доступны, а как теперь достать те поля что ниже? Как можно добавить "бегунок" прокрутки???


Есть второй вариант:

Взять и восстановить новую базу, но как в таком случае сохранить/перенести контрагентов, прайс-лист и прочую информацию которую я внес в базу?!

Подскажите, пожаулйста!

Здравствуйте!


В Вашей ситуации самым простым будет следующий порядок действий:


1. Восстановить новую базу рядом, например с названием kk_restored

2. Выполнить скрипт, который из новой базы перенесет настройки карточки задачи в Вашу "модифицированную" базу. Параметры карточек классов хранятся в таблице dbo._STClasses для карточки "Задачи" это запись с идентификатором ClassesID = 99


Собственно скрипт может выглядеть например вот так:


UPDATE Work

SET

      [Work].[DataVirtClass] = [Clean].[DataVirtClass],

      [Work].[NavBarCard] = [Clean].[NavBarCard]

FROM 

[kk_working].[dbo].[_STClasses] [Work]

JOIN [kk_restored].[dbo].[_STClasses] [Clean] ON [Work].[ClassesID] = [Clean].[ClassesID]

WHERE [Work].[ClassesID]=99


Только в скрипте переименуйте базы в свои наименование, согласно правилу:


kk_working - рабочая база

kk_restored - новая восстановленная база

Можно и остальные атрибуты синхронизировать, но вот этих двух точно должно хватить..

Если что-то не получится - напишите, найдём решение.

Добрый вечер!
Приятно удивлен, что вы работаете в выходные!!!

Я правильно понимаю, что скрипт нужно выполнить в окне management studio


Судя по нижней строке, скрипт выполнен успешно! А результата нет.

Во время сей процедуры КК был выключен.


Либо в скрипте слова Work & Clean тоже надо было заменить на названия баз?

Попробовал заменть так же слова Work & Clean соответствующими именами баз.

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

Странно... Должно было сработать...

Завтра подключу к вопросу специалистов по ядру. 

По факту решения - сразу отпишемся.

Благдарю, буду ждать.


Ps Вы только уточните, пожалуйста, как правильно?

Все слова Work & Clean заменить? Или только kk_work & kk_clean?

Добрый день! Нужно закрыть конфигуратор и выполнить следующий скрипт (kk_work - меняете на название Вашей рабочей базы, kk_clean - название восстановленной базы) в окне management studio:

alter table [kk_work].[dbo].attr46 disable trigger updAttr46

alter table [kk_work].[dbo].attr46 disable trigger Attr46_DELETE_Setting

delete from [kk_work].[dbo].Attr46

WHERE P171= 99 AND

 P170= 'Задачи' AND

      P192= 6 AND

      P169 = 'DesignDef'

DECLARE  @ObjectID INT

,@ObjectID2 INT

SELECT

 @ObjectID = ObjectID

FROM [kk_clean].dbo.Attr46

WHERE P171= 99 AND

 P170= 'Задачи' AND

      P192= 6 AND

      P169 = 'DesignDef'

SELECT

 @ObjectID2 = ObjectID

FROM [kk_work].[dbo].Attr46

WHERE P171= 99 AND

 P170= 'Задачи' AND

      P192= 6 AND

      P169 = 'DesignDef'

     

IF @ObjectID2 IS NOT NULL

UPDATE [kk_work].[dbo].Attr46

  SET P172 = (select p172 from [kk_clean].dbo.Attr46 where ObjectID = @ObjectID),

  User_cr = null

WHERE ObjectID = @ObjectID2

ELSE   begin  

  INSERT INTO [kk_work].[dbo].Attr46 

       ( ObjectClassID,

         User_cr,

         Date_cr,        

         P171,

         P170,  

         P169,

         P192,

         P193,

         P172) 

   VALUES (

      46, 

      null,

      GETDATE(),  

      99,

      'Задачи',

      'DesignDef',

      6,

      3,

      (select p172 from [kk_clean].dbo.Attr46 where ObjectID = @ObjectID))

END

alter table [kk_work].[dbo].attr46 enable trigger updAttr46

alter table [kk_work].[dbo].attr46 enable trigger Attr46_DELETE_Setting


Карточка должна принять вид с восстановленной базы

Здравствуйте Светлана!

Хорошо, сейчас сделаю.


В результате выполнения скрипта я получил следующую ошибку:

Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'kk_Yurok_test'.


Подстановку имен баз производил через "Find & Replace".


С уважением

Юрий

Удалите вторую строку скрипта (alter table [kk_work].[dbo].attr46 disable trigger Attr46_DELETE_Setting) и последнюю(alter table [kk_work].[dbo].attr46 enable trigger Attr46_DELETE_Setting). Посмотрите чтобы везде корректно произошла замена. Если будет вылазить похожая ошибка - то нужно будет из оставшихся удалить также первую и последнюю строки alter table .....

Доброе утро Светлана.


Сделал:

Удалите вторую строку скрипта (alter table [kk_work].[dbo].attr46 disable trigger Attr46_DELETE_Setting) и последнюю(alter table [kk_work].[dbo].attr46 enable trigger Attr46_DELETE_Setting)

Получил:

Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'kk_Yurok_test'.


Сделал:

Если будет вылазить похожая ошибка - то нужно будет из оставшихся удалить также первую и последнюю строки alter table .....


Получил:

(0 row(s) affected)

(1 row(s) affected)

(1 row(s) affected)

(1 row(s) affected)

(1 row(s) affected)


Результат: Все получилось!

Благодарю Вас!


Ps. Будте добры, подскажите, прежде чем тему закрыть с каким атрибутом можно связать поле Outlook'a готовность?

Попробуйте связать поле готовность с полем "Состояние" в задачах. Либо создайте новое ссылочное поле на элементы справочника и свяжите с ним. Точно пока не могу сказать, нужно разбираться.


Доброе утро Светлана!


Это первое с чего я начинал. Я пытался связать поле готовность с полем Состояние->наименование (класса Задачи).

В результате я поулчаю вот такую ошибку во время синхронизации. (См. скрин)


Здравствуйте, Юрий!

Вообще в случае если прямая связь между атрибутами невозможна, то проще всего создать промежуточный атрибут в классе задаче, который будет соответствовать нужному полю Аутлука и с ним настроить связь. А в самом классе настроить хранимое вычисление, которое при сохранении записи в БД будет обрабатывать этот новый атрибут и писать в после состояние нужное Вам значение (логику в самом вычислении и определить).

Добрый день.

Согласен, я пришел к такому же решению. Но до последнего сомневался в его правильности.

Поскольку считал, что раз у вас есть возможность настройки синхронизации с outlook, то и соответсвующие поля должны быть настроенны в программе "из коробки"!


Обидно, становиться за ваш продукт. Имея шикарный набор инстрментов для аналитики вы много чего проработали и учли. Но чем сильнее пытаюсь внедрить ваш продукт в свои бизнес-процессы, тем больше мелких недоработок нахожу, которые впринцыпе должны были бы быть учтены еще при создании программы. А учитывая еще и то, что вы не первый год на рынке, тем более странно почему не довели до ума коробочные версии.

И все это в целом оставляет довольно смешанное впечатление о продукте в целом.

Например:

  1. недоделанная интеграция с outlook
  2. отсутствие групповой обратотки всех полей у Контак. лиц, задач, товаров и т.д.
  3. постоянно теряется фокус окна и происходит произвольное переключение на раб.стол или любую другую открытыю программу.

Пока список, короткий но это то, что вспомнил по ходу написания.


Ну допустим я возьму и допилю какие-то моменты так как это нужно мне. А что тогда будет потом, когда вы выпустите очередное обновление БД? Как это все ляжет на мои доделки?

Придется все поновой настраивать?


Ps Я искренне желаю Вам успеха и развития т.к. от этого все только выйграют. Вы укрипите своё  положение на рынке, а такие требовательные пользователи как я, помогу т в создании безупречной репутации ваших продуктов.


С уважением

Юрий

Юрий, здравствуйте!


Попробую прокомментировать Ваше сообщение по пунктам:


  1. Outlook. Тот факт, что в системе есть возможность настраивать (и настраивать гибко) эту интеграцию мы считаем несомненным плюсом и гордимся этим! Причем настройку можно сделать весьма нетривиальной, например не только задачи в Outlook выгрузить, но и счета неоплаченные или заявки к поставщикам в события календаря или ещё что-то... да вообще что угодно... То, что в версии "из коробки" эта интеграция не настроена обусловлена двумя причинами. Первая - Outlook все менее и менее востребованный инструмент на текущий момент. В наших проектах внедрений (которых, как Вы заметили - весьма не мало) такая настройка потребовалась дважды(!). Ещё раз повторюсь - это проекты, где работы выполняются нами в рамках гарантированного бюджета, а не бесплатно-самостоятельная (как в Вашем случае) настройка системы - т.е. Заказчика не волнуют методы решения  только результат. Вторая причина: технологическая. В скором времени в рамках платформы КлиК будет реализован принципиально новый алгоритм интеграции. Это будет своего рода универсальный и централизованный механизм, работающий не на прямом соответствии атрибутов, а на логике правил. И он будет применим как в случае с Аутлук, так и к 1С и другим системам со структурированными данными. И потому настройка 1С и Аутлук и т.п. на сегодня вынесена на проектный уровень, что бы в в типовых конфигурациях не перегружать архитектурный состав атрибутов с целью обеспечения универсальности обмена.

  2. Отсутствие групповой обработки всех полей у ... Хм... опять же тот факт, что в системе в принципе присутствует такой механизм, как групповое редактирование является заметным конкурентным преимуществом перед большинством конкурирующих продуктов (поверьте - мы не только КлиК внедряем). И мне в данный момент не совсем понятно, что Вы имеете в виду, когда обозначаете такое ограничение. Безусловно особенности есть, но они обусловлены идеологическими моментами и проистекают из универсальности и гибкости платформы. Если у Вас есть конкретные предложения или вопросы о том, как что-то должно работать или как это лучше эргономически реализовать - мы только рады будем их услышать. Пока же не понятно, о чём речь... Честное слово...

  3. Про потерю фокуса окна - можно подробнее? Такие проблемы имели место быть более года назад на некоторых сочетаниях КлиК и версий windows, но с одним из уже далеких обновления платформы мы перестали получать сообщений от наших пользователей с подтверждением данной ситуации. Просьба к Вам - более подробно описать последовательность действий либо ситуации, при которых теряется фокус какого-либо окна.
Что же касается возможностей обновления после того, как Вы "допилите какие-то моменты". Безусловно в случае адаптации логики "под себя" возможность комплексно обновиться пропадает, т.к.  в настоящее время система обновления конфигурации не анализирует какие именно изменения сделаны пользователем и применима только к НЕдоработанным базам. 
Обновление же функционала платформы производится при любых произведенных настройках и применимо к любым конфигурациям, в том числе и написанным пользователями "с нуля". И это так же не мало, поверьте, когда Вы развивая свою систему понимаете, что Вам требуется поддержка новой версии MS Office или новые возможности Mail API для организации более функциональной рассылки или развитого редактора почтовых шаблонов или измененный интерфейс повышающий эргономику или ещё что-то (вот лог самых крупных изменений в текущей версии платформы: http://www.crmcommunity.ru/forum/forum42/topic252/). В подавляющем большинстве конкурирующих решений такой возможности не заложено в принципе с выходом новой версии платформы приходится так же обновлять конфигурацию, что не всегда возможно... 
Здесь выбор, как всегда за Заказчиком - приобрести "коробку" и воспользоваться исключительно настроечным функционалом, доступным на уровне пользователя без вмешательства в скрипты, Дизайнер интерфейсов и Конфигуратор. В этом случае Заказчик получает именно "КОРОБКУ", которая обновляется утилитой и в которой доступны новинки, разрабатываемые нашей командой, но в качестве компромисса выступает отказ от возможности индивидуализировать логику и адаптировать работу программы под собственные конкурентные преимущества. Т.е. приходится подстраиваться под программу, а не наоборот. Зато с регулярными обновлениями. Есть ещё промежуточные варианты, когда специалисты переносят некоторые доработки, исправления и т.д., но это не штатная ситуация, эта работа, как правило, не бесплатна и оценивается всегда индивидуально.

Здраувствуйте, ... благодарю за столь развернутый овтет!


1. эту интеграцию мы считаем несомненным плюсом и гордимся этим...

Молодцы и я полностью с Вами согласен! Я нехотел сказать что данный инструмент плохой, на самом деле он просто шикарный. Т.к. решение нетривиальной задачи по синхронизации данных мне удалось решить с 1-го раза!!! В то время как тривиальную задачу немогу осилить до сих пор.


2. В скором времени в рамках платформы КлиК будет реализован принципиально новый алгоритм интеграции

Отличная новость, интиргующая, уже жду с нетерпением.

3. присутствует такой механизм, как групповое редактирование является заметным конкурентным преимуществом

Тут я имел ввиду следующее:
Например мне надо было назначить праздники для конт. лиц относящихся к одному контрагенту. И мне пришлось открывать карточку каждого конт. лица и вносить изменения.
Далее... в режиме Задачи мне нужно было 5 задачам изменить маркетинговую инициативу и инфом. источник. Опять таки пришлось открывать каждую карточку и вносить требуемые изменения. и т.д. Если вспомню другие случаи, то обязательно напишу.

4. Про потерю фокуса окна - можно подробнее?

Хорошо, я понаблюдаю в каких случаях это происходит и подробно опишу.


5. Поправте, пожалуйста, есля я не прав:

К функционалу платформы относятся Дизайнер интерфейсов, Конфигуратор, Администратор и т.д.

А Классы и атрибуты, виртуальные классы и т.д. это уже относится к конфигурации.


С уважением

Юрий


Про групповое редактирование. 

В Дизайнере интерфейсов есть возможность включить для таблицы разрешение группового редактирования и тогда вы сможете менять произвольный набор атрибутов по выделенным карточкам, это замечательно решает задачу изменение маркетинговой инициативы для нескольких задач или контрагентов или ещё чего-то...


Для добавления праздника создан отдельный интерфейс работы с ними (Маркетинг -> Праздники), где для каждого праздника можно выбирать контактных лиц. В открывшемся окне просто отфильтруйте по нужным критериям (например по месту работы = Контрагенты) или вообще как угодно. После чего выделяйте все оставшиеся записи (Ctrl+A) и добавляете в один клик к нужному празднику. организовывать массовые операции с праздниками из интерфейса контактных лиц мы сочли излишним, сфокусировав внимание пользователя на самостоятельном маркетинговом инструменте.


5. Поправте, пожалуйста, есля я не прав:

К функционалу платформы относятся Дизайнер интерфейсов, Конфигуратор, Администратор и т.д.

А Классы и атрибуты, виртуальные классы и т.д. это уже относится к конфигурации.


Да, все верно, основные модули (Клиент-Коммуникатор, Дизайнер интерфейсов, Конфигуратор, Администратор и Сканер Outlook) - это платформа. Так же к платформе относятся скриптовые возможности (не сами скрипты, а именно доступность тех или иных методов/свойств).


Бизнес-логика - это уже конфигурация. Т.е. расположение элементов на окнах, скрипты, классы/атрибуты, аналитики, меню, иконки на кнопках и т.д. и т.п. - это всё конфигурация, которая реализуется на возможностях платформы.

Добрый вечер!


По поводу праздников, действительно шикарный, продуманный инструмент. Просто я пытался это все реализовать через "Реестр контр." и "Конт. лица" . По моей логике мне казалось что это должно быть реализовано именно там.


В Дизайнере интерфейсов сделал все как Вы написали... ребята ну это же просто обалдеть как здорово!!! Почему об этом не указано в Руководстве пользователя?


Решил досканально изучить Дизайнер для выявления подобных фишек, упрощающих работу.


Уважаемый бизнес-аналитик, благодарю Вас за помощь и разъяснения!


С уважением

Юрий

По поводу праздников, действительно шикарный, продуманный инструмент. Просто я пытался это все реализовать через "Реестр контр." и "Конт. лица" . По моей логике мне казалось что это должно быть реализовано именно там.

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


В Дизайнере интерфейсов сделал все как Вы написали... ребята ну это же просто обалдеть как здорово!!! Почему об этом не указано в Руководстве пользователя?

Есть инструкция по дизайнеру интерфейсов. Находится в \Пуск\Все программы\КлиК 7.5\Помощь


Уважаемый бизнес-аналитик, благодарю Вас за помощь и разъяснения!

Спасибо. :)