Настройка вида карточки через Конфигуратор
Добрый день!
Подскажите как восстановить внешний вид карточки?
Предистория:
Пытаясь наладить синхронизацию "задач" в Outlook и КК я столкнулся с проблемой. Что немогу найти подходящий атрибут с соответствующим типом для поля "готовность"
Чтобы добиться корректной работы, это поле крайне необходимо, но увы подходящего атрибута в классе "Задачи" я не смог найти.
В итоге попытался создать собственный атрибут с соответсвующим типом поля. Который бы изменялся в зависимости от значения атрибута "состояние" на карточке "задачи". В итоге ничего не получилось и я хотел удалить поле моего атрибута с карточи.
Для начала я удалил сам атрибут, но он по прежнему отображался на карточке, тогда я попробовал удалить его с карточки путем выделения и нажатия клавиши DEL, непомогло. Решил вернуть её к первоначальному виду через контекстное меню Класса. НО! Я полагал что данная команда веренет карточку к виду ДО моих изменений! (см. скрин)
Вместо этого внешний вид карточки изменился до неузнаваемости!!!
И я попытался сам его восстановить. Вот что из этого получилось.
Тогда я попытался закрыть Конфигуратор без нажатия на кнопку обновить БД. Но почему-то это не помогло и карточка в самом КК имеет убогий вид.
Т.е. я разместил все поля, которые были доступны, а как теперь достать те поля что ниже? Как можно добавить "бегунок" прокрутки???
Есть второй вариант:
Взять и восстановить новую базу, но как в таком случае сохранить/перенести контрагентов, прайс-лист и прочую информацию которую я внес в базу?!
Подскажите, пожаулйста!
Kundesupport af UserEcho
Здравствуйте!
В Вашей ситуации самым простым будет следующий порядок действий:
1. Восстановить новую базу рядом, например с названием kk_restored
2. Выполнить скрипт, который из новой базы перенесет настройки карточки задачи в Вашу "модифицированную" базу. Параметры карточек классов хранятся в таблице dbo._STClasses для карточки "Задачи" это запись с идентификатором 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, то и соответсвующие поля должны быть настроенны в программе "из коробки"!
Обидно, становиться за ваш продукт. Имея шикарный набор инстрментов для аналитики вы много чего проработали и учли. Но чем сильнее пытаюсь внедрить ваш продукт в свои бизнес-процессы, тем больше мелких недоработок нахожу, которые впринцыпе должны были бы быть учтены еще при создании программы. А учитывая еще и то, что вы не первый год на рынке, тем более странно почему не довели до ума коробочные версии.
И все это в целом оставляет довольно смешанное впечатление о продукте в целом.
Например:
Пока список, короткий но это то, что вспомнил по ходу написания.
Ну допустим я возьму и допилю какие-то моменты так как это нужно мне. А что тогда будет потом, когда вы выпустите очередное обновление БД? Как это все ляжет на мои доделки?
Придется все поновой настраивать?
Ps Я искренне желаю Вам успеха и развития т.к. от этого все только выйграют. Вы укрипите своё положение на рынке, а такие требовательные пользователи как я, помогу т в создании безупречной репутации ваших продуктов.
С уважением
Юрий
Юрий, здравствуйте!
Попробую прокомментировать Ваше сообщение по пунктам:
Здраувствуйте, ... благодарю за столь развернутый овтет!
1. эту интеграцию мы считаем несомненным плюсом и гордимся этим...Молодцы и я полностью с Вами согласен! Я нехотел сказать что данный инструмент плохой, на самом деле он просто шикарный. Т.к. решение нетривиальной задачи по синхронизации данных мне удалось решить с 1-го раза!!! В то время как тривиальную задачу немогу осилить до сих пор.
2. В скором времени в рамках платформы КлиК будет реализован принципиально новый алгоритм интеграцииОтличная новость, интиргующая, уже жду с нетерпением.
3. присутствует такой механизм, как групповое редактирование является заметным конкурентным преимуществом
Тут я имел ввиду следующее:
Например мне надо было назначить праздники для конт. лиц относящихся к одному контрагенту. И мне пришлось открывать карточку каждого конт. лица и вносить изменения.
Далее... в режиме Задачи мне нужно было 5 задачам изменить маркетинговую инициативу и инфом. источник. Опять таки пришлось открывать каждую карточку и вносить требуемые изменения. и т.д. Если вспомню другие случаи, то обязательно напишу.
4. Про потерю фокуса окна - можно подробнее?
Хорошо, я понаблюдаю в каких случаях это происходит и подробно опишу.
5. Поправте, пожалуйста, есля я не прав:
К функционалу платформы относятся Дизайнер интерфейсов, Конфигуратор, Администратор и т.д.
А Классы и атрибуты, виртуальные классы и т.д. это уже относится к конфигурации.
С уважением
Юрий
Про групповое редактирование.
В Дизайнере интерфейсов есть возможность включить для таблицы разрешение группового редактирования и тогда вы сможете менять произвольный набор атрибутов по выделенным карточкам, это замечательно решает задачу изменение маркетинговой инициативы для нескольких задач или контрагентов или ещё чего-то...
Для добавления праздника создан отдельный интерфейс работы с ними (Маркетинг -> Праздники), где для каждого праздника можно выбирать контактных лиц. В открывшемся окне просто отфильтруйте по нужным критериям (например по месту работы = Контрагенты) или вообще как угодно. После чего выделяйте все оставшиеся записи (Ctrl+A) и добавляете в один клик к нужному празднику. организовывать массовые операции с праздниками из интерфейса контактных лиц мы сочли излишним, сфокусировав внимание пользователя на самостоятельном маркетинговом инструменте.
5. Поправте, пожалуйста, есля я не прав:
К функционалу платформы относятся Дизайнер интерфейсов, Конфигуратор, Администратор и т.д.
А Классы и атрибуты, виртуальные классы и т.д. это уже относится к конфигурации.
Да, все верно, основные модули (Клиент-Коммуникатор, Дизайнер интерфейсов, Конфигуратор, Администратор и Сканер Outlook) - это платформа. Так же к платформе относятся скриптовые возможности (не сами скрипты, а именно доступность тех или иных методов/свойств).
Бизнес-логика - это уже конфигурация. Т.е. расположение элементов на окнах, скрипты, классы/атрибуты, аналитики, меню, иконки на кнопках и т.д. и т.п. - это всё конфигурация, которая реализуется на возможностях платформы.
Добрый вечер!
По поводу праздников, действительно шикарный, продуманный инструмент. Просто я пытался это все реализовать через "Реестр контр." и "Конт. лица" . По моей логике мне казалось что это должно быть реализовано именно там.
В Дизайнере интерфейсов сделал все как Вы написали... ребята ну это же просто обалдеть как здорово!!! Почему об этом не указано в Руководстве пользователя?
Решил досканально изучить Дизайнер для выявления подобных фишек, упрощающих работу.
Уважаемый бизнес-аналитик, благодарю Вас за помощь и разъяснения!
С уважением
Юрий
Всего, к сожалению в этих реестрах реализовать невозможно, т.к. они получатся перегруженными функционально и перестанут быть понятными и удобными для пользователей. Поэтому находим вот такие компромиссы без ущерба функциональности.
Есть инструкция по дизайнеру интерфейсов. Находится в \Пуск\Все программы\КлиК 7.5\Помощь
Спасибо. :)