Добрый день ! Никто не сталкивался с такой ошибкой ? Если да то как решить ее ?

Нравится

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

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

"Зверев Александр" написал:

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


Как это сделать ?

Из веб-интерфейса, в окне метаданных схемы.

Показать все комментарии

Добрый день!
Подскажите пожалуйста, есть ли возможность реализовать для версии 5.4, ввод телефона по фиксированной маске, например: +7 (___) _______ ?

Нравится

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

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

Подскажите, существует ли способ повесить на обработчик нажатия кнопки код, который откроет нужную мне произвольную страницу (которую я создал без привязки в объекту)? Но при этом мне ещё нужно передавать ИД выбранной записи на гриде. Нужна реализация именно кодом: объекты БП не предлагать!

Находил только во это из подходящего: https://community.terrasoft.ru/forum/topic/9886

Но это всё равно не то...

Нравится

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

См. действие БП «Открыть страницу» (OpenPageUserTask), там передаётся PageUId и PageParameters. Если нужно именно кодом, то можно посмотреть исходники этого действия.

Исходниками этого кода является нечто, что не имеет буквенного кода - как обычно... =( Сделал через элементы БП - всё работает (см. ниже), но получил другую проблему: не получается передать некоторый параметр, чтобы его принять на открываемой форме и там это записать в лукапное поле.

1

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

var PageSchemaId = (UserConnection.GetSchemaManager("PageSchemaManager").GetInstanceByName("MyPage111") as PageSchema).UId;
OpenPageUserTask111.PageUId = PageSchemaId;
 
var pageParameters = new Dictionary <string, string>();
pageParameters.Add("CampaignLookupEdit", SelectedNodePrimaryColumnValue.ToString());
 
OpenPageUserTask111.PageParameters = pageParameters;

В объекте "Действие процесса" выбрано действие "Открытие страницы".

Теперь мне надо как-то переданный параметр "CampaignLookupEdit" заполнить на открываемой форме значением этого параметра. Вопрос - как? В объекте "Заполнить поля на форме" попробовал в отладчике обратиться к "Page", но этой сущностью является не открываемая страница, а страница грида, откуда я вызываю открытие своей страницы, хотя "OpenPageUserTask111.PageParameters" у меня заполнено правильно. Подскажите, если не трудно...

"Виталий Марушко" написал:Исходниками этого кода является нечто, что не имеет буквенного кода - как обычно...

Всё там нормально с исходниками, само действие состоит из обычного C#-кода.
OpenPageUserTask

"Виталий Марушко" написал:Теперь мне надо как-то переданный параметр "CampaignLookupEdit" заполнить на открываемой форме значением этого параметра.

Вычитывать значение параметра нужно в самой открываемой карточке при её открытии (на PageLoadComplete).

var MyGuidParamId = new Guid(Page.GetParameterValue("MyGuidParamId").ToString());

И дальше его обрабатывать и записывать куда нужно.

Александр, разобрался - всё получилось! Спасибо за очередную порцию помощи! Хорошего Вам дня)

Показать все комментарии

Добрый день
В карточке есть поле, к-ые заполняется произвольный значением (т.е. не берется из какого-либо справочника). Подскажите, как на С# написать условие если это поле не заполнено.

Правильно ли:
if (Page.PoleEdit.Value != null)

?

Нравится

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

Здравствуйте, Татьяна!

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

P.S. Для разных типов полей проверка пустое оно или нет будет производиться по-разному.

А тип данных какой в поле?

В терасофтовских модулях есть такие подходы к проверке:
String.IsNullOrEmpty или String.IsNotNullOrEmpty

"Александр Кудряшов" написал:Тип данных - строка

Показать все комментарии

Добрый день.

Допустим, есть некоторое значение в поле карточке.
Подскажите, пожалуйста, на C# как можно "вытащить" значения только тех символов в этом значении, к-ые третий и четвертый по порядку (слева направо). Заранее спасибо

Нравится

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

Substring - не пойму, как использовать этот метод

Если считать значение поля в строку, то можно использовать метод

public string Substring( int startIndex, int length)

Подробности здесь:
https://msdn.microsoft.com/ru-ru/library/aka44szs(v=vs.110).aspx

Есл не ошибаюсь:

string s = "Terrasoft";
string ss = s.Substring (0,5);// ss содержит "Terra"
Показать все комментарии

Добрый день
С помощью чего можно проверить, что значение в таком-то текстовом поле содержит только цифры?
Заранее спасибо

Нравится

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

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

такую проверку можно реализовать, используя регулярные выражения С#.

Подскажите сайт, где их можно посмотреть

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

Ссылка на сайт где можете ознакомиться с регулярными выражениями.

Показать все комментарии

Добрый день

При сохранении изменений в процессе «Страница редактирование Конфиг.единицы» система выдала ошибку:

// в других процессах, напр. «Страница карточки задачи» тоже такая же ошибка появилась.

Объект SysSchema у меня никак не администрируется:

Нравится

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

У меня роль - сист.администратор

Проблема может возникать из-за того, что у пользователя, под которым вы работаете, Read-Only лицензии. Установите нужному пользователю полноценную лицензию.

Речь идет о тестовой системе. Здесь тоже нужны какие-то лицензии?

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

это же бесплатно, так?

Да, это выполняется бесплатно.
Перезаказать лицензии необходимо на свой CustomerID

в смысле, лицензии на тестовую систему бесплатны?

Татьяна,

на базу разработки Вы также можете сформировать запрос лицензий на свой CustomerID, как и на рабочей.

Данная услуга бесплатна.

Показать все комментарии

Добрый день

Подскажите, пожалуйста, чтобы при вводе данных в "Заметки" этими же данными заполнялось и поле "Дополнения" в той же карточке ?

Нравится

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

Логику работы с полем «Заметки» (в том числе и считывание из него при сохранении карточки по кнопке ОК) можно посмотреть в BaseModuleEditPage.

Показать все комментарии

Карточка - Contact
Поле этой карточки - ITNumber

При нажатии на ОК пишу:

var length = Contact.ITNumber.ToString().Length;
if (length >10)
{
//то здесь выводится сообщение пользователю, и к закрытию карточки процесс не идет
}
else
{
//то здесь продолжается процесс закрытия карточки
}

правильно ли?

Нравится

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

Нет.
Посмотрите в любой карточке, как правильно получать значение поля.

Значение поля:
var number = (Guid)Page.ITNumberEdit.Value;

А как подсчитать кол-во символов?:
string str = ?

int length = str.Length;

далее сравниваю кол-во символов if (length <>10)....else

Татьяна, зачем Вы пишете:

var number = (Guid)Page.ITNumberEdit.Value;

У Вас номер типа Guid?

точно, мне не нужно определение идентификатора. ITNumber- это обычное поле (целочисленное), к-ое заполняется (а не выбирается из справочника) пользователем.

Page.DataSource.ActiveRow.GetTypedColumnValue("ITNumber") - это значение поля.
string str = ?
int length = str.Length;
далее сравниваю кол-во символов if (length <>10)....else

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

вот так сработало без ошибок:

string str = Page.ITNumberEdit.Value.ToString();
int length = str.Length;
if ((Page.ITNumberEdit.Value != null)&&(length != 10))
{
Page.BaseMessagePanel.AddMessage(Warning, "Количество символов в поле Внутр.инвент.номер (ИТ) должно быть равно 10.", MessageType.Warning);
Page.ITNumberEdit.Clear();
Page.ITNumberEdit.SetRequired(true);
return false;
}
else
{
....

Показать все комментарии

В ранее созданных отчетах вижу привязку:

А то у меня:

Как получить (List) вмеcто (Dataset) ?

Нравится

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

Татьяна,

опишите, пожалуйста, какую бизнес-задачу Вы хотите решить?

Хочу сделать отчет (наподобие Досье Контакта), чтобы:
в этом же отчете еще распечатывались по определенному Контакту и его Записи (с детали Записи карточки Контакта).

Сравните у готового и у Вашего отчётов наполнение вкладки «Данные» правой панельки в дизайнере.
«List» означает, что выбирается не из датасетов, а из параметров.

Не пойму, в чем отличие:

// Write - это моя новая деталь Записи в карточке Контакта.

К тому же, если я пытаюсь перевыбрать (List), то у меня предлагается DataSet:
Было:

Пытаюсь перевыбрать на то же самое:

List — это для параметров. У Вас на первом скриншоте параметров нет (см. внизу дерева справа).

а КАК сделать так, чтобы эти параметры были?

Добавить.

А как добавить?

Правой кнопкой.

Показать все комментарии