Добрый вечер, коллеги нужна ваша помощь, Когда ранее сайт работал на 32 бите я использовал утилиту SqlTracker для получения sql запросы, очен удобный инструмент,
Как поменяли на 64 бит сайт, перестал работать SqlTracker, существует ли другие способы получение sql запросов быстро не используя метод .GetSelectQuery(UserConnection).GetSqlText();,
Версия 5.1.1.159
Касательно ошибки, то предполагаю, что необходимо использовать не адрес сайта, а подключаться непосредственно к процессу приложения.
Что касается используемой Вами ранее Quest SQL Tracker, необходима установленная версия Toad не ниже 12 и 64-разрядной. Вероятно, в данный момент у Вас установлена 32-битная версия.
Касательно ошибки, то предполагаю, что необходимо использовать не адрес сайта, а подключаться непосредственно к процессу приложения.
Что касается используемой Вами ранее Quest SQL Tracker, необходима установленная версия Toad не ниже 12 и 64-разрядной. Вероятно, в данный момент у Вас установлена 32-битная версия.
Не подскажите как это можно сделать, у меня не получается, буду блогадарен, высылаю скрин что у меня показывает
Каких-либо бесплатных Open-source - решений я не встречал.
Добрый день.
Это не то что я запрашивал, по ссылке смотрел этим у нас занимаются администраторы базы данных, у нас у разработчико нет доступа совершать такие операций.
Добавил на форму мультивалютное поле, указал поля для курс, валюта, базовая валюта. В процесс страницы редактирования добавил скрипты по обработке изменений в данных полях по аналогии с Продажа. Помогите разобраться, как можно узнать, какое из полей мультивалютного поля было изменено, т.к. в свойствах можно установить только сообщение об изменении всего поля?
Здравствуйте, Эмин!
Попробуйте по аналогии с тем, как реализовано в карточке счета или продажи добавить события типа "PrimaryAmountEditChange", "CurrencyRateEditChange" и т.д.
Попробуйте по аналогии с тем, как реализовано в карточке счета или продажи добавить события типа "PrimaryAmountEditChange", "CurrencyRateEditChange" и т.д.
Создал 4 сообщения со скриптами по аналогии со Счет. Проверил дебаггером, скрипты не вызываются. Т.е. нет никакой реакции на изменения в форме.
Разобрался. Необходимо руками добавить подписку на эвенты при изменении курса, валюты и тп. после сообщения Init
При рассылке отправляется несколько писем, для остальных пишет: "Socket connection was aborted by remote host."
Я так понимаю некий сервер воспринимает эту отправку как спам и блокирует отправку писем. Верно? Если так, то можно ли сделать отправку писем через некий интервал, например 20 сек?
Здравствуйте, Илья.
Судя по Вашему описанию механизм рассылки работоспособен. Отправка же блокируется провайдером. Думаю, что целесообразно обратить внимание в эту сторону.
1) В разделе Администрирование-Доступ к объектам активировать Администрирование по записям для объекта «Группа контакта» (контрагента, активности – выбрать необходимый раздел):
2) На детали «Доступ к записям по умолчанию» определить необходимые права доступа. Если на детали «Доступ к записям по умолчанию» нет ни одной записи – все будущие группы в данном разделе будут доступны только автору (т.е. пользователи будут видеть только свои группы).
Здравствуйте! Два вопроса по администрированию пользователей
1. Ограничить доступ к вкладке, к примеру, "Маркетинг"
2. Закрыть для обычных пользователей детали "входит в группы", "взаимосвязи"
1. Управлять доступом непосредственно на Рабочие места не получится. Но, ограничив доступ на все разделы в данном рабочем месте, рабочее место пропадет из представления автоматически.
Для того, чтобы запретить доступ к разделу пользователю/группе пользователей, необходимо активировать администрирование по операциям и добавить запрет на все типы операций на раздел:
2. С помощью базовых средств настройки Вы можете скрыть данные детали для всех пользователей целиком в настройке рабочих мест, удалив деталь для определенного раздела:
Если необходимо скрыть детали для конкретной роли, то необходимо реализовать дополнительную логику на этапе инициализации раздела.
Спасибо за ответ.
По поводу детали. Деталь "Доступ" скрыть не удается. Она не отображается при настройке рабочих мест, соответственно ее нельзя удалить. Но если мы заходим в реестр любого модуля, то видим в деталях вкладку "Доступ". Данная вкладка доступна обычным пользователям. Как можно ее скрыть?
Если объект раздела администрируется по записям, то в разделе появляется деталь "Доступ". Это заложено в ядре.
Тем не менее, если Вы желаете эту деталь скрыть для отображения для пользователей без прав системного администратора, но при этом, чтобы объект администрировался по записям, необходимо в ScriptTask для события PageLoadComplete раздела прописать следующий код:
Guid roleId =new Guid("83A43EBC-F36B-1410-298D-001E8C82BCAD");//системные администраторы
Guid currentUserId = UserConnection.CurrentUser.Id;
var esq =new EntitySchemaQuery(UserConnection.EntitySchemaManager, "SysUserInRole");
esq.AddColumn("Id");
esq.AddColumn("SysRole");
esq.Filters.Add(esq.CreateFilterWithParameters(FilterComparisonType.NotEqual,
"SysUser", currentUserId));
var rolesCollection = esq.GetEntityCollection(UserConnection);
foreach(var role in rolesCollection){if(role.GetTypedColumnValue<Guid>("SysRoleId")== roleId){for(var i =0; i != Page.DetailsTabPanel.Tabs.Count-1; i++){if(Page.DetailsTabPanel.Tabs[i].Caption.ToString()=="Доступ"){
Page.DetailsTabPanel.Tabs[i].Visible=false;}}}}returntrue;
Спасибо за помощь, разобрался.
Чтобы не создавать темы, спрошу в этой.
Пытаюсь добавить в едином окне реестр с обращениями. Создаю страницу реестра обращений в едином окне, которая наследуется от реестра обращений. Но в едином окне, реестр обращений не отображаются, а кнопки добавления, изменения и тп недоступны
Эмин, необходимо выгрузить данные, сами они туда не попадут.
На событии PageLoadComplete следует получить экземпляр источника данных, при необходимости наложить фильтры и выполнить LoadRows().
Очень наглядный пример есть в методе PrepareSchedule(), процесса страницы ManagersModulePage.
Еще раз по разграничению доступа к вкладкам (Маркетинг, Продажа и тп). К примеру доступ к вкладке Инструменты доступен только админам, необходимо сделать по аналогии, чтобы каждой роли была видна своя вкладка и все. В каком Процессе скрывается вкладка Инструменты?
Администрирования доступа к рабочим местам не существует. Рабочее место будет скрыто, если у пользователя нет прав доступа на все разделы, которые включены в данное рабочее место.
Здравствуйте, Илья!
Получить записи выборки можно закрузив строки в источник данных, а затем перебрать их.
Page.TreeGrid.DataSource.LoadRows();
foreach (var row in Page.TreeGrid.DataSource.Rows){//TODO
var name = row.GetTypedColumnValue<string>("Name");//обращение к колонке}
Нет, движок работы с базой существенно не меняли. Табличные параметры не поддерживаются, поскольку там нужно создавать пользовательские типы, а система работает только со стандартными.
Если в таблице [ContactCommunication] нет записи, то добавив туда запись, можно сделать отправку e-mail?
И как после добавления записи в таблицу [ContactCommunication]?
Запись там должна быть, если email в карточку контакта добавлен штатными средствами. Требования для отправки сообщения по рассылки заключаются в том, чтобы EmailAddress и ContactId соответствовали адресу идентификатору контакта из ContactCommunication, связанной с MassMailingContact по EmailId.
Запись там должна быть, если email в карточку контакта добавлен штатными средствами. Требования для отправки сообщения по рассылки заключаются в том, чтобы EmailAddress и ContactId соответствовали адресу идентификатору контакта из ContactCommunication, связанной с MassMailingContact по EmailId.
Спасибо. Добавление не штатными средствами, а через SQL.
Илья, UserConnection - это класс ядра, который включает функции и свойства соединения пользователя (уникальные данные пользователя, сессии, временная зона).
Пример использования:
UserConnection.CurrentUser.Id// текущий пользователь
UserConnection.CurrentUser.ContactId// Контакт текущего пользователя
UserConnection.CurrentUser.AccountId// Контрагент текущего пользователя
UserConnection.CurrentUser.GetCurrentDateTime()// Текущие время в часовой зоне пользователя
Как написал Александр, чтобы использовать UserConnection, достаточно обратиться (без дополнительных объявлений).
"Соколов Илья Андреевич" написал:"userConnection" с маленькой буквы написан
Глобальный объект UserConnection доступен не везде. Если, например, пишем функцию в отдельной схеме вроде CommonUtilities, то его нужно передавать в функцию как параметр. При вызове функции будет с большой буквы, а параметр функции — с маленькой, чтобы не перепутать.
"Соколов Илья Андреевич" написал:В примерах www.terrasoft.ru/bpmonlinesdk/ "userConnection" с маленькой буквы написан и не хватает в примерах ...Execute(); Просьба добавить.
Илья, в примерах SDK основной целью было показать, как формировать различные виды запросов к БД. Выполнение экземпляра запроса вторичен в данных примерах.
В связи с описанной Вами необходимостью уточнить дальнейший порядок действий, будет добавлена информацию о том, как запускать команды на выполнение.
Обновленные статьи будут опубликованы в следующем запланированном обновлении SDK.
Нужно было вызвать Execute для insert.
Кроме того, ContactCommunication — деталь раздела контактов и в новой записи нужно заполнить связь ContactId и другие стандартные поля.
Екатерина, с примером вызова хранимой процедуры из скрипта Вы можете ознакомиться в процессе страницы BaseDuplicateMergeEditPage, а именно в OKButtonClickScriptTask: