Вопрос

У меня имеется пакет установлен как и другие через репозиторий и он заблокировался каким-то образом. При попытке добавить файл выдает ошибку "Невозможно сохранить изменения элемента, так как пакет, в который он сохраняется, заблокирован другим пользователем". Попробовал поменять значения IsLocked и IsChanged в SysPackage, SysSchema. Привязанных данных нет. Почистил Redis, перезапускал Redis. Менял обратно значения. Ничего не помогает. Зафиксировать тоже не дает. Как такое лечить? Maintainer установлен также как в системных настройках. Другие пакеты в порядке

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

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

Решил вопрос. Зашел через тортилку в repo-browser и снял блокировку с каждого файла в пакете. Сделал коммит в файловой системе, восстановил в БД из репозитория и там у пакета оказался maintainer прежним, до моего изменения. Не знаю почему так вышло, поменял maintainer как надо. всё работает

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

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

Имеется следующая проблема: Возникают различные ошибки при установке пакетов скачанных с marketplace. Устанавливаю стандартным способом, через интерфейс установки приложений в BPM. Например, установка валится на проверке зависимостей устанавливаемого пакета от пакетов в БД, или при выполнении sql скриптов установки справочных значений,  и т.д..

Вопрос: каким образом можно разобрать(распаковать) скачанный с marketplace пакет(приложение) на составляющие,  что-то поправить в нем и собрать обратно для загрузки на свой стенд BPM? Может есть инструкция(на академии не нашел) ?

Спасибо!

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

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

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

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

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

Про marketplace понятно, что лучше обратиться к разработчику пакета. Но вопрос у меня в другом. Если например, стандартным способом выгрузить пакет из из системы, то он выгружается в архиве zip, а в нем архив gz, а в нем один файл. Вот вопрос - можно ли этот файл как-то открыть в VisualStudio например для редактирования?

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

Вот нашел, утилиту bpmcli

https://github.com/Advance-Technologies-Foundation/bpmcli  - может она умеет распаковывать пакеты?

Там упоминается команда:

Convert existing package to project

Convert package with name MyApp and MyIntegration, located in directory C:\Pkg

bpmcli convert -p C:\Pkg -n MyApp,MyIntegration

Convert all packages in directory C:\Pkg

bpmcli convert -p C:\Pkg

Её код — в файле PackageConverter.cs 

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

Да, уже попытался сделать этими командами, но получаю ошибку. Написал разработчикам...

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

Всем привет!

Немного предыстории. По неопытности долгое время доработка системы производилась в облаке, на продуктивной среде. Соответственно все изменения попали в пакет Custom.

Сейчас стоит задача перенести все схемы и данные из объекта Custom в отдельный пакет, выгрузить его и дальше работать в отдельном пакете на локальной среде.

Погрузивший в структуру БД было выяснено, что принадлежность схемы к пакеты находится в БД, таблица SysSchema, поле SysPackageId, данные хранятся в соседней таблице SysPackageSchemaData. Был написан нехитрый sql скрипт, который переопределяет ссылку на на новый пакет. И вроде даже все работает, но вот беда, в метаданных схемы осталась ссылка на старый пакет, т.е. в БД уже новый, а в метаданных старый.

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

Просто вручную тыкать в каждый объект как-то не очень хочется (объектов больше 200)

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

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

Владимир Соколов пишет:

Может, просто переименовать Custom? И создать новый Custom

 + Помимо переименования необходимо будет почистить системную настройку "Идентификатор пользовательского пакета" [CustomPackageUId], т.к. именно эта настройка отвечает за указание системного пакета.

Также хорошо бы было вычистить после этого зависимости этого пакета, т.к. по умолчанию "Custom" собирает в себе зависимости от всех пакетов.

Может, просто переименовать Custom? И создать новый Custom

Владимир Соколов пишет:

Может, просто переименовать Custom? И создать новый Custom

 + Помимо переименования необходимо будет почистить системную настройку "Идентификатор пользовательского пакета" [CustomPackageUId], т.к. именно эта настройка отвечает за указание системного пакета.

Также хорошо бы было вычистить после этого зависимости этого пакета, т.к. по умолчанию "Custom" собирает в себе зависимости от всех пакетов.

И на продуктовой среде, наверное, нужно установить CurrentPackageId на новый кастомный пакет, чтобы настройки пользователей туда попадали?

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

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

Есть пакет UsrPkg, который установлен как текущий пакет и все доработки хранятся в нем. пакет зависит от SalesEnterpriseSoftKey_RUS, SalesEnterpriseSoftKey, от пакета UsrPkg зависит Custom.

При попытке зафиксировать пакет UsrPkg в хранилище svn выходит ошибка "Пользовательский пакет не может быть зафиксирован в хранилище".
Я думала, что при попытке установки UsrPkg тянет за собой Custom, так как изначально в Custom были несколько доработок, но сейчас они удалены. перезапуск iis, очистка redis, очистка кэша проводились.
при открытии окна свойств пакета, где указаны название, версия и пр. для пакета usrPkg нет поля Хранилище системы контроля версий, для всех остальных пакетов это поле есть.
в базе данных у пакета usrPkg в поле sysrepositoryid прописан гуид нужного хранилища

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

Версия 7.10.0.1742

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

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

Дополнительная информация: при открытии окна свойств пакета, где указаны название, версия и пр. для пакета usrPkg нет поля Хранилище системы контроля версий, для всех остальных пакетов это поле есть.
в базе данных у пакета usrPkg в поле sysrepositoryid прописан гуид нужного хранилища

Добрый день, Любовь.

Данное поведение пожет наблюдаться в случае если пакет UsrPkg указан в системной настройке [Идентификатор пользовательского пакета] (CustomPackageUId). В данной настройке должен быть указан пакет Custom.

Дополнительно прилагаю инструкцию по работе с пользовательскими пакетами (https://academy.terrasoft.ru/documents/technic-sdk/7-10/sozdanie-polzov…) и ссылку на статью об особенностях пакета Custom (https://academy.terrasoft.ru/documents/technic-sdk/7-10/paket-custom).

"Мария Ватулина" написал:Данное поведение пожет наблюдаться в случае если пакет UsrPkg указан в системной настройке [Идентификатор пользовательского пакета] (CustomPackageUId). В данной настройке должен быть указан пакет Custom

Большое спасибо! дело и правда оказалось в этом

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

В своё время потребовалась разблокировка пакета. Были сделаны какие-то манипуляции из данной темы Изменение заблокированого пакета.
Предупреждение о том, что пакет принадлежит стороннему издателю пропало. Теперь нужно вернуть его обратно и убрать возможность редактировать код, но это не получается сделать..

нет понимания, что за что отвечает.
Например данные пакета выглядят так

Version   Maintainer   Essential IsChanged IsLocked InstallType
7.6.0   NotCustomer    0         1          1          1

Как видно из названий колонок "IsChanged, IsLocked" - это просто статусы для СВН и видимости, что происходит с пакетом. И они на это по идее не должны влиять. Есть "InstallType", который по идее должен влиять на запрет.

Кто-нибудь подскажите , пожалуйста, как вернуть сообщение о стороннем издателе и запретить редактировать схемы?

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

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

Попробуйте изменить значение в поле Maintainer на Terrasoft

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

Установите installType = 1, Maintainer = 'Terrasoft'.

Спасибо за ответы!
В горячую пока ничего не изменилось, буду чистить кэш Редиса сегодня ночью.

Почистил Редис.
Все так же, ничего не изменилось. Куда дальше копать непонятно.
Видимо есть что-то, чего мы не знаем..

Вот данные пакета

Version	Maintainer	IsChanged	IsLocked	InstallType
7.6.0	Terrasoft	0		0	          1

Вот данные рандомной схемы из него

IsChanged	IsLocked
0	            0

Никто не подскажет куда копать хотя бы? Логика взаимодействия этих флагов совсем непонятна и работает странно.

Виталий,

попробуйте выполнить 'чистый старт':
1) в конфигурации bpm'online:
a) обновите в базе данных все элементы, требующие обновления;
б) сгенерируйте исходные коды для всех элементов;
в) скомпилируйте все;
2) разлогиньтесь в приложении;
3) очистите куки и кеш Вашего браузера;
4) очистите Redis-хранилище;
5) перезапустите пул приложений и сам сайт в IIS.

После всех вышеописанных действий попробуйте воспроизвести проблему.

Скрипты от техподдержки.
Оказалось, что

Также может потребоваться перезайти в БМП или перезапустить Редис.
Также может потребоваться генерировать код и метаданные.
Также, возможно, после разблокировки пакета -> разблокируются все схемы.
Также Maintainer в пакете должен совпадать с соответствующей системной настройкой для возможности редактирования.

--разблокировать пакет "PackageName"
update SysPackage
set IsChanged = 1, InstallType = 0, IsLocked = 1, Maintainer = 'Customer'
where Name in ('NUI')
and SysWorkspaceId in (select Id from SysWorkspace where Name = 'Default')
 
--разблокировать схему "SchemaName" в пакете "PackageName"
update SysSchema
set IsChanged = 1,
IsLocked = 1
where Name in ('MiniPageUtilities')
and SysPackageId in (
    select Id from SysPackage where SysWorkspaceId in (select Id from SysWorkspace where Name = 'Default')
    and Name in ('NUI')
)
 
--заблокировать пакет "PackageName"
update SysPackage
set IsChanged = 0, InstallType = 1, IsLocked = 0, Maintainer = 'KredytInkaso'
where Name in ('NUI')
and SysWorkspaceId in (select Id from SysWorkspace where Name = 'Default')
 
--заблокировать схему "SchemaName" в пакете "PackageName"
update SysSchema
set IsChanged = 0,
IsLocked = 0
where Name in ('MiniPageUtilities')
and SysPackageId in (
select Id from SysPackage where SysWorkspaceId in (select Id from SysWorkspace where Name = 'Default')
and Name in ('NUI')
)
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

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

В локальной среде разработки (7.10) создал отдельный пакет, в его зависимости добавил пакет UIv2.

С помощью мастера разделов создал в этом пакете новый раздел. После выгрузки пакета с помощью WorkSpaceConsole и его успешной загрузки в тестовую среду (on-cloud) пытаюсь открыть созданный раздел. В консоли отладчика в браузере получаю такую ошибку:

user: Supervisor/7f3b869f-34f3-4f20-ab4d-7480a5fdf647
file: https://xyz.bpmonline.com/0/configuration/b58905880bd3ab7635160eaf12f09e...
line: 21689
column: 29
message: Uncaught TypeError: Cannot read property 'extendParent' of undefined
date: Thu Jun 01 2017 13:02:22 GMT+0300 (RTZ 2 (зима))
stack: TypeError: Cannot read property 'extendParent' of undefined

Вот как выглядит ошибка в отладчике

Вот как выглядит JS-объект, на котором происходит ошибка из-ха того, что поле schemaStructure undefined

Прежде чем задавать этот вопрос, ознакомился с постом на схожую тему http://www.community.terrasoft.ru/forum/topic/25523

проверил данные в БД, все необходимые записи в таблицах есть.

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

Заранее благодарен за ответ.

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

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

Андрей,

проверьте всё ли в порядке с наследованием пакетов на той среде, где Вы загрузили новый раздел. Не отличается ли наследование с продуктовой средой :wink:

Алла, проверил, проблем с наследованием пакетов нет. Полагаю, что если такие проблемы были бы, система не сообщила бы об успешной установке пакетов. Ошибка в чем-то другом.

Алла, проверил, проблем с наследованием пакетов нет. Полагаю, что если такие проблемы были бы, система не сообщила бы об успешной установке пакетов. Ошибка в чем-то другом.

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

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

Илья, спасибо за ответ.

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

Здравствуйте,
Сложно в таком случае подсказать в чем проблема, если это не иерархия и не проблема кеширования. Напишите в поддержку с предоставлением доступа к сайту, что бы они посмотрели в чем там дело.
support@terrasoft.ru

Здравствуйте.
По-моему необходимо перегрузить приложение в IIS
Если есть возможность, проверьте на "чистом" приложении локально, а затем попросите поддержку перезагрузить сайт вручную

Роман, добрый день!

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

из-за старой баги, в системе оставались схемы с одинаковыми заголовками в разных базовых пакетах.
Багу устранили, но последствия могут остаться.
Посмотрите, нет ли у вас в "исходном" приложении нескольких схем с заголовком "Базовая схема раздела" в разных пакетах. Возможно мастер "подхватил" не ту схему.

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

Добрый день!

Имеется две среды. На одной среде подотовили пакет (не Custom), который содержит раздел и событийный подпроцесс, который срабатывает перед добавлением записи. Этот процесс добавлен через дизайнер объекта как Event.

Данный пакет зафиксировали в хранилище. На другой среде зафиксировали этот пакет из хранилища. Выполнили 5 шагов после установки(компиляция, генерация, обновления и пр).

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

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

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

Попробуйте опубликовать сам объект в среде, где заполнено "Перед добавлением записи"
После этого опять зафиксировать в хранилище пакет.

"Zaitova Liubov" написал:о не перенесся связанный процесс

В составе пакета схема этого процесса присутствует (на среде куда осуществляли установку) ?
Возможно БП создан мастером и сохранен в "текущий пакет" (Custom как правило) а не в тот который вы переносите, в таком случае в редакторе БП - существует возможность сменить пакет.

"Севостьянов Илья Сергеевич" написал:
Zaitova Liubov пишет:

о не перенесся связанный процесс

В составе пакета схема этого процесса присутствует (на среде куда осуществляли установку) ?
Возможно БП создан мастером и сохранен в "текущий пакет" (Custom как правило) а не в тот который вы переносите, в таком случае в редакторе БП - существует возможность сменить пакет.


бизнес - процесс не был создан отдельно мастером. Он был создан в рамках сущности дизайнером объекта(процесс отрабатывает на событие). Как этот процесс добавлялся я показала на скрине

Вы сам Объект публиковали после того как добавили обработку события Inserting?

"Коновалов Игорь" написал:

Вы сам Объект публиковали после того как добавили обработку события Inserting?


Опубликовали заново и зафиксировали в хранилище на первой среде.
Обновили пакет на второй среде.
Процесс перенесся корректно.
Спасибо!

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

Добрый день!

Подскажите, пожалуйста, на что влияет количество пакетов? Будет ли тормозить продакш среда из-за этого или увеличивается только время компиляции?

Можно ли переносить пакеты между средами частично? Допустим пакет содержит схему1, объект1, процесс1 и объект2, схему2.
Схема1, объект1 и процесс1 готовы к переносу, а схема2, объект2 - нет.
Я могу перенести на рабочую среду только Схему1, объект1 и процесс1 из пакета?

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

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

Здравствуйте, Любовь!

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

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

"Савельева Алла" написал:

Здравствуйте, Любовь!

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

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


Спасибо!

"Савельева Алла" написал:Частичный перенос возможен, если Вы выполняете перенос с помощью SVN. В этом случае обязательным условием является наличие одного и того же пакета и совпадание их версий на Ваших средах.

Подскажите, пожалуйста, как создать новую версию пакета? ни на community,ни на академии не нашла информации по этому вопросу

Также не могу сообразить, как сделать частичную фиксацию в SVN . В самом UI можно зафиксировать только пакет целиком, отдельно файлы нельзя. Это делается через файловую систему или visual studio?
Или частичный перенос не обеспечивается частичной фиксацией в svn?

"Zaitova Liubov" написал:Подскажите, пожалуйста, как создать новую версию пакета?

Создать новую версию пакета можно 2-мя способами:
1) в конфигурации bpm'online создаете новый пакет с таким же названием и указываете номер версии;
2) для существующего пакета версию можно изменить на уровне базы данных - в таблице SysPackage поле Version.

"Zaitova Liubov" написал:Также не могу сообразить, как сделать частичную фиксацию в SVN . В самом UI можно зафиксировать только пакет целиком, отдельно файлы нельзя. Это делается через файловую систему или visual studio?

Первый раз нужно зафиксировать в svn пакет целиком. Фиксация пакетов выполняется через конфигурацию bpm'online или файловую систему по выбору разработчика. Мы рекомендуем делать это через конфигурацию bpm'online.

"Zaitova Liubov" написал:Или частичный перенос не обеспечивается частичной фиксацией в svn?

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

Обращаю Ваше внимание, что ответ на данный вопрос подразумевает использование версии не ниже bpm'online 7.9.0.

"Савельева Алла" написал:Создать новую версию пакета можно 2-мя способами:
1) в конфигурации bpm'online создаете новый пакет с таким же названием и указываете номер версии;
2) для существующего пакета версию можно изменить на уровне базы данных - в таблице SysPackage поле Version.

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

2) Поменяла версию в базе данных с 1.0.0 на 1.2.0. Попыталась зафиксировать пакет в хранилище - вышла ошибка, что такого пути нет http://ххх/view/head/packageD/branches/1.2.0. Создала папку 1.2.0 по указанному пути вручную. При попытке зафиксировать пакет в хранилище выходит ошибка "При работе с хранилищем произошла ошибка". в журнале событий ошибок нет
Как правильно организовать работу с версиями?
Нам они нужны, например, чтобы делать хотфиксы

Здравствуйте, Любовь!

Для консультации по возникающей у Вас ошибке с работой SVN обратитесь, пожалуйста, в службу поддержки - напишите письмо на support@terrasoft.ru с детальным описанием ошибки (со скриншотами) и последовательностью действий, которая привела к её возникновению.

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

Здравствуйте, сложилась такая ситуация: есть пользовательский пакет, в котором находятся детали, объекты, схемы для пользовательского раздела, необходимо перенести пользовательский пакет с одного сайта на другой.
Пакет я перенёс, установив его из SVN, а вот раздел сам не добавился. В связи с этим, возник вопрос, как мне добавить раздел? Есть ли вообще такая возможность? Сталкивался ли кто-нибудь с такой "проблемой". Заранее спасибо за ответ.

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

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

Добрый день.

Попробуйте настроить рабочее место.

"Адаменко Александр Викторович" написал:

Добрый день.

Попробуйте настроить рабочее место.


Пробовал, раздел не высвечивается в доступных

Попробуйте найти свой раздел в SysModule в базе (проверить есть ли он вообще в системе). Если нет, то как вариант можно через sql добавить его.

Здравствуйте, Антон.

После установки пакета из SVN необходимо выполнить следующие действия:

1. Сгенерировать для требующих генерации.
2. Компилировать все.
3. Выбрать элементы, структура которых менялась. Обновить для них структуру БД.
4. На вкладке Данные отобразить колонки Текст последней ошибки и Требует установки в БД. Установить выбранные элементы.
5. На вкладке SQL сценарии Установить выбранные элементы.

Более подробную информацию вы можете найти по следующей ссылке:

https://www.youtube.com/watch?v=DKVo4I5uTXA&feature=youtu.be (с 03:55:00).

"Мария Ватулина" написал:

Здравствуйте, Антон.

После установки пакета из SVN необходимо выполнить следующие действия:

1. Сгенерировать для требующих генерации.
2. Компилировать все.
3. Выбрать элементы, структура которых менялась. Обновить для них структуру БД.
4. На вкладке Данные отобразить колонки Текст последней ошибки и Требует установки в БД. Установить выбранные элементы.
5. На вкладке SQL сценарии Установить выбранные элементы.

Более подробную информацию вы можете найти по следующей ссылке:

https://www.youtube.com/watch?v=DKVo4I5uTXA&feature=youtu.be (с 03:55:00).

Спасибо большое, помогло

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

Добрый день.
При фиксации пакета в репозитории возникает ошибка

"Ошибка при работе с системой контроля версий. Ошибка при работе с хранилищем. Необходима синхронизация с сервером"

После обновления пакета из репозитория и повторной фиксации ошибка повторяетя.
До сегодняшнего дня пакет фиксировал нормально.

Никакие манипуляции с репозиторием за это время не проводились.
Как решить данную проблему?
Версия 7.8.0.3374

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

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

Здравствуйте, Игорь!

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

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

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