Вопрос

Добрый день, Коллеги!

Версия 7.11.3

Суть проблемы:

1) Подключили SVN.

2) Создали свой пакет. Пакет привязан к SVN

3) Создали раздел через мастер раздела. Создались автоматически схемы

https://www.screencast.com/t/Q5QGRbjj

4) Зафиксировали пакет в SVN - успешно

 

Проблема:

После фиксации в SVN схема на скриншоте

https://www.screencast.com/t/B8UYl1aZg

оказалась заблокированной

 

Что пробовали сделать:

1) Компиляция всего

2) Обновление БД

3) Генерация исходных кодов всего

4) Удаление Схемы и обновление пакета из SVN

5) Восстановление конфигурации из хранилища

6) Разблокировка пакета SQL сценарием 

https://www.screencast.com/t/AJjjnyf8C

https://www.screencast.com/t/0dWvpqJsod

7) Повторная и фиксация и обновление из SVN

8) Очистка кеша Redis

 

Все перечисленные выше действия не помогли

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

Подскажите, пожалуйста, в чём может быть проблема и как это вылечить?

У меня такой же вопрос

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

Если дело именно в блокировке схемы, то можете попробовать через TortoiseSVN снять блокировку. А так судя по ошибке на скрине это не похоже на блокировку. 

Миннекаев Айдар,

Айдар, Если бы был лок в SVN, он не давал бы закоммитить повторно =)

На всякий случай проверили 

https://www.screencast.com/t/IpuwnUUa 

Блокировки нет

Если это не блокировка, то в чём может быть проблема? Буду благодарен за идеи!

В SysSchema вроде тоже всё в порядке.. 

 

Разблокировка пакета SQL сценарием 

2019-07-02_1705.png (195×91)

В поле Maintainer должно быть указано то значение, которое стоит в системной настройке «Издатель» (Maintainer). Проверьте, точно ли у Вас там сейчас «Customer».

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

Ситуация следующая: есть бизнес-процесс, который срабатывает при создании обращений или изменении любого поля. Я создал на его основе новую версию и сделал ее актуальной, чуть позже удалил ее за ненадобностью через конфигурацию.

Теперь, как я понимаю, при изменении обращения система пытается запустить новую версию процесса.

Также процесс исчез из списка в библиотеке; удалось вернуть, найдя его в конфигурации и сделав актуальным.

Подскажите пожалуйста, как решить вышеописанную ошибку, в какие таблицы БД смотреть.

Пытался скомпилировать все объекты в конфигурации, что-бы обновились схемы - не помогло.

Ближайшая подобная тема: https://community.terrasoft.ru/articles/v-processe-polucenia-sistemnyh-… (sql запрос не дал результатов);

 

UPD. Решение оказалось проще, чем я думал - нужно еще раз создать бизнес-процесс, заменить актуальную версию на базовый процесс и потом удалить дочерний.

У меня такой же вопрос

1 комментарий
Лучший ответ

Добрый день.

для того чтобы вам Отследить какой Бизнес-процесс запускается и что с ним происходит советую вам Воспользоваться "Журналом бизнес-процессов" по времени Сохранения Обращения найти все БП что исполнялись в данный период времени, найти БП что отработал с ошибкой, и посмотреть на каком Элементе БП остановился процесс и посмотреть ошибку. 

Журнал бизнес-процессов это позволяет сделать.

Добрый день.

для того чтобы вам Отследить какой Бизнес-процесс запускается и что с ним происходит советую вам Воспользоваться "Журналом бизнес-процессов" по времени Сохранения Обращения найти все БП что исполнялись в данный период времени, найти БП что отработал с ошибкой, и посмотреть на каком Элементе БП остановился процесс и посмотреть ошибку. 

Журнал бизнес-процессов это позволяет сделать.

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

Здравствуйте,
Всплывает ошибка при загрузке мастера редактирования карточки:

file: undefined
line: undefined
column: undefined
message: Элемент с ключом 33e46153-d870-42af-a250-8d8a9ecae940 Не существует 
 date: Thu Nov 15 2018 16:02:43 GMT+0500 (Екатеринбург, стандартное время)
moduleId: undefined
moduleName: undefined

Пишет что id не найден, смотрел в БД, таблицу SysSchema там реально этого UId нету, но зато есть эта карточка но с другим Id
Почему так могло произойти ? И как это можно исправить ?

У меня такой же вопрос

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

Уточните, возникают ли какие-то ошибки в консоли просто при открытии этой карточки редактирования?

Возможно, что-то не перенеслось, если эти карточки переносили на основной сайт с базы разработки. 

Попробуйте сравнивать наполнение системных таблиц, связанных с разделами (вроде SysModule, SysModuleEdit и т.д.) для этого и для нормально работающего разделов. Либо произведите автоматический поиск по всем полям всех таблиц базы, чтобы найти, где именно записан этот ID 33e46153-d870-42af-a250-8d8a9ecae940.

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

Привет всем !
Возник такой вопрос, как сделать модальное окно с нужными полями и чекбоксами ?
нужно что то вроде:
Ответственному - (Логический тип), Время - (Дата/Время) 

Нашёл различные статьи, но там написано как сделать просто окно или вообще что то другое или вообще не чего, вообщем всё не то.
Я так понимаю нужно сделать что то вроде ModalBox после чего передать параметры поля размер и т.д . Но как это сделать не знаю.
Если кто знает подскажите.

У меня такой же вопрос

3 комментария
Лучший ответ

Тут расписано как создать окно, в нем добавляете нужные вам атрибуты (столбцы) и задаете в diff их прорисовку.

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

Тут расписано как создать окно, в нем добавляете нужные вам атрибуты (столбцы) и задаете в diff их прорисовку.

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

Григорий Чех,

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

Исходя из такой постановки, окно не обязательно должно быть модальным. Можно сделать БП из нескольких элементов: сначала автогенерируемая или преднастроенная страница, затем добавление данных в таблицу напоминаний. Процесс запускать из нужных разделов.

Войдите или зарегистрируйтесь, чтобы комментировать
Публикация

Добрый день, коллеги! Я думаю, что начинающим разработчикам этот пост пригодится.

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

https://community.terrasoft.ua/questions/osibka-pri-publikacii

Возникла проблема не точно такая же, но с аналогичным текстом ошибки: после изменения схемы, а именно небезопасного изменения\удаления поля из схемы, возникла ошибка: "У действия по проверке наличия в колонке Имя_колонки в схеме Имя_схемы условия обязательности не выбрано действие для исправления". Возврат к предыдущему состоянию схемы и выполнение требований изменить условие обязательности не помогли. Такая ошибка возникла на колонке, в котором уже были значения.

Если возникает такая ошибка при изменении поля, в котором уже имеются значения, но выполнение условий (установка\снятие обязательности и другие) не помогают, предлагаю следующий алгоритм решения.

1) Скопировать через update в другое поле значение проблемной колонки. Или выгрузить в excel пары Отображаемое значение-значение проблемной колонки для последующего импорта.

2) Очистить значения колонки во всех строках через update. Удалить из схемы проблемную колонку. Сохранить схему. Опубликовать схему.

3)  Добавить в схему идентичную колонку (лучше с другим кодом колонки)

4) Опубликовать схему

5) Скопировать через update\импортировать сохраненные данные колонки.

Как не допустить такую ситуацию?

1) Если не обходимо изменить поле на уровне БД, в котором уже есть значения, то:

а) Не менять тип поля, если он не совместим и в нем есть данные. Например, с текстового на справочник. Создать новое поле с нужным типом, скопировать в него значения из старого, старое скрыть (можно очистить и удалить в конце, если не завязано никакой логики).

б) Воспользоваться алгоритмом выше не дожидаясь появления ошибок. 

Если есть дополнения\возражения, прошу в комментарии. Спасибо.

Поделиться

0 комментариев
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день, Подскажите пожалуйста как сделать страницу где можно настроить фильтры для отчета как на скриншотах ?
Мне нужно сделать отчет с отфильтрованными данными

 

 

У меня такой же вопрос

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

Такие отчёты привязываются к разделу записями в SysModuleAnalyticsReport, где в полях указаны Id схемы отчёта и схемы его параметров. Для этого отчёта окно параметров задаётся в ContactAnniversariesReportFilter.

Зверев Александр,

Спасибо, я разобрался и сделал такую же страницу в разделе котором мне нужно.

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

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

У меня такой же вопрос

4 комментария
Лучший ответ

Чем onchange плох?

this.on("change:UsrAuto", function() {
	this.UpdateFinanceTab();
}, this);

 

Чем onchange плох?

this.on("change:UsrAuto", function() {
	this.UpdateFinanceTab();
}, this);

 

Алексей-Карягин,

Да в принципе ни чем, просто я не знал о нём ..
спасибо огромное, это отлично работает

Подскажите, пожалуйста, куда вставить этот код. Если в methods, то как его связать с полем справочника? Если непосредственно в код объявления справочника, то в какое свойство? Спасибо.

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

methods: {
    onEntityInitialized: function(){
        this.callParent();
        this.on("change:Amount", function(){
            window.alert("lalala");
        }, this);
    }
}

 

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

Пытаюсь создать схему представления детали с полями по примеру из https://academy.terrasoft.ru/documents/technic-sdk/7-10/sozdanie-polzova... . Версия системы - 7.10.1.1161. В данном примере из документации при создании схемы представления детали с полями в качестве базового объекта нужно указать Base fields detail ( BaseFinance ), однако в выпадающем списке он отсутствует. Никак не могу понять, что именно я делаю не так. Буду признателен за любую помощь/подсказки.

У меня такой же вопрос

1 комментарий

Проверьте, есть ли вообще в Вашей конфигурации такая схема, так как она есть только в банковских продуктах bpm'online — bank customer journey, bank sales и lending.
Если у Вас один из перечисленных выше продуктов и такая схема есть в Вашей конфигурации, тогда для того, чтобы её можно было указать в качестве базовой в Вашем пакете, Ваш пакет должен наследоваться от пакета Base Finance с этой схемой.

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

Коллеги, добрый день.

Возникла задача: при публикации сообщения в Ленту в карточке обращения, выполнять определенные действия.

Делаю бизнес-процесс, у которого в качестве входного элемента - сигнал, который срабатывает на добавление записи в объект "Сообщение\комментарий". Далее, как я понимаю, мне надо указать Id_Схемы, в которой было опубликовано сообщение (у меня это id раздела Обращение). Указываю Id_Схемы в фильтре входного элемента. Процесс не срабатывает.
Может кто-нибудь подскажет что я делаю не так? Как отловить только нужные мне сообщения?

P.S.: если указываю этот же Id_Схемы при вставке комментария в ленту из процесса (через элемент добавления данных -> в поле Схема указываю Id_Схемы), все отлично отрабатывает

У меня такой же вопрос

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

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

Нужно указывать не Id схемы, а UId.
UId можно получить следующим запросом:

select distinct UID from SysSchema
where Name = 'Case' /*Указываем название схемы*/
and ExtendParent = 0 /*Указываем, что нужна незамещенная схема*/

В разных конфигурациях Id схемы будет разным, но UId будет совпадать.

Также обращаю внимание, что если сообщение является комментарием, тогда у него будет заполнено поле ParentId, а поле EntitySchemaUId останется пустым.

"Демьяник Алексей" написал:Нужно указывать не Id схемы, а UId.

Доброе утро. Спасибо, указала UId вместо Id_Схемы и получилось отловить комментарий, который был опубликован в обращении!

Но теперь возник другой вопрос - а как мне узнать в каком именно обращении было опубликовано сообщение?
Пробовала элементом "чтение данных" прочитать сообщение в ленте и у него поле "Экземпляр объекта" и потом найти обращение, у которого Id = экземпляр_объекта (который я получила при чтении данных). Но что-то не срабатывает.

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

Скриншоты чтений данных предоставьте, пожалуйста.

"Демьяник Алексей" написал:Скриншоты чтений данных предоставьте, пожалуйста.

Добрый день. Скриншот прикрепила.

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

Такая реализация будет работать, если было добавлено обычное сообщение, которое не является комментарием другого сообщения.

Если сообщение является комментарием, тогда необходимо дополнительно прочитать значение поля "Родительское сообщение". Сообщение является комментарием, если:

  1. У сообщения не заполнено поле "Экземпляр объекта"
  2. У сообщения заполнено поле "Родительское сообщение"

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

Также хочу обратить внимание, что для раздела "Обращения" есть два объекта, которые хранят обычные сообщения и портальные сообщения. В зависимости от бизнес-задачи необходимо вычитывать данные из разных объектов.

"Демьяник Алексей" написал:Также, такой процесс будет запускаться при добавлении сообщения в любом разделе системы (зависит от настроек стартового сигнала).

Стартовый сигнал срабатывает именно на добавление сообщения в ленте в разделе обращения (проверяла много раз, писала в разных карточках различных разделов сообщения в ленту, срабатывает процесс именно на сообщении, которое было написано в обращении).

"Демьяник Алексей" написал:Такая реализация будет работать, если было добавлено обычное сообщение, которое не является комментарием другого сообщения.

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

Обратитесь в поддержку, описав кейс воспроизведения и предоставив обезличенную базу данных.

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

Хотелось бы произвести каким либо способом - пакетный или массовый импорт схем выгруженных в формате MD-файлов. (т.к. их достаточно много)

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

У меня такой же вопрос

1 комментарий

Здравствуйте, Илья.

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

Подробное описание работы с утилитой и примеры вы можете найти по данной ссылке: https://academy.terrasoft.ru/documents/technic-sdk/7-9/rabota-s-utilito….

Войдите или зарегистрируйтесь, чтобы комментировать