Стартовая страница › Форумы › Разработка и интеграция › Увеличении длины вводимой строки
- В этой теме 28 ответов, 4 участника, последнее обновление 5 лет, 5 месяцев назад сделано Mikhail.
-
АвторСообщения
-
19.04.2018 в 09:59 #8966BolgУчастник
Стоит задача в Администраторе в таблице размерности в столбце Обозначение ввести длинный текст, который превышает 100 символов. Пытался программно снять это ограничение меняя MaxValue. но теперь выдает ошибку конвертации:
Ошибка при сохранении изменений базы данных: The data was truncated while converting from one data type to another. [Name of function(if know)=].
Как можно решить данную проблему?19.04.2018 в 15:15 #8975MikhailМодераторНе рекомендую данный подход, потому что он будет постоянно порождать проблемы в будущем.
Если у Вас много вариантов строковых значений, то лучше использовать формулу для получения строки и установить строковый формат канала. Однако будет ограничение на длину значения 8 латинских символов или 4 юникод (русских)23.04.2018 в 11:50 #9011BolgУчастникВы имеете ввиду нужно прописать формулу в самом Администраторе или в исходном коде?
23.04.2018 в 17:19 #9013MikhailМодераторИмею ввиду в таблице Формулы в Администраторе.
26.04.2018 в 16:00 #9029BolgУчастникВоспользовался вашим советом, вроде сработало, но все же остается вопрос, как увеличить выводимую строку(если, допустим, она длиннее 8 символов)? и еще, наблюдается некий баг, в некоторых случаях при работе с ascii первый символ выводимого значения отличается от заданного, например в данном примере 3 элемент массива при выводе получается: «fgg»
public String IntToStr()
{
int x = Convert.ToInt32(Cnl);
string[] str = new String[3]{«Loog»,»aaa1″,»ggg»};
String s = Convert.ToString(EncodeAscii(str[x]));
return s;
}26.04.2018 в 16:49 #9030MikhailМодераторДлиннее 8 символов только заранее заданная размерность.
Вы могли бы максимально упростить пример, но чтобы проблема при этом сохранялась?
Что будет если просто подставить EncodeAscii("ggg") ?
На самом деле Вам не надо использовать Convert. Во входной канал должен попадать результат работы EncodeAscii- Этот ответ был изменен 6 лет назад от Mikhail.
22.05.2018 в 18:43 #9422RomirosУчастникА действительно, нельзя ли увеличить в будущем длину этой строки?
Сам сегодня столкнулся. У меня 17 возможных состояний объекта и это в 100 символов нормально не уместить.23.05.2018 в 15:23 #9428MikhailМодераторЕсли Вы имеете ввиду длину строки в таблице Размерности, то при следующем изменении формата базы конфигурации нужно будет увеличить. Другой вариант — вынести состояния в отдельную таблицу, но возможно, это будет не так удобно при редактировании.
23.05.2018 в 17:58 #9437RomirosУчастникМожно реализовать оба варианта :).
Просто, если увеличение длины строки не потянет больших переделок в ядре, сделайте пожалуйста.
А по-хорошему наверное действительно должна быть отдельная таблица.24.05.2018 в 20:01 #9454MikhailМодераторНаверное, это будет не очень скоро, потому что в этом году планируется разрабатывать новый Администратор, а он должен быть совместим с существующим. Есть возможность сейчас как-то обойти проблему?
26.05.2018 в 09:50 #9497RomirosУчастникЯ сделал дикими сокращениями. Типа ГР, ХР,
М-К и так далее всего 17.
Хрень конечно, но жить можно. По хорошему надо расширять возможности. Это получается протоколирование событий, которое надо расшифровывать 🙂28.05.2018 в 21:31 #9537MikhailМодераторВы можете с помощью формулы возвращать строку из 4 русских символов и использовать соответствующий формат канала.
28.05.2018 в 22:06 #9544RomirosУчастникК сожалению четыре символа не помогут.
По-хорошему нужна таблица для протоколирования событий с возможностью задавать цвет текста. Пока обхожусь статусом и формулами, но много лишних действий :).29.05.2018 в 17:42 #9551MikhailМодераторнужна таблица для протоколирования событий с возможностью задавать цвет текста
Если не трудно, опишите подробнее, что хотелось бы видеть.
29.05.2018 в 20:01 #9558RomirosУчастникВ свойствах канала столбец протоколирование. Он ссылается на таблицу шаблонов протоколирования. В ней пользователь сам создаёт нужный шаблон (протоколирование для состояний кранов, насосов, вентиляторов и других объектов). А в каждом таком шаблоне набор состояний по аналогии как у Вас сделан светодиод на схемах. То-есть условие, текст состояния, цвет текста.
Получается, что две таблички нужно. -
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.