• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Непонятности с форматом поля

  • Автор темы Sandro
  • Дата начала
S

Sandro

Натолкнулся на такой (на мой не опытный взгляд) глюк. Проблема в следующем есть документ который заполняется данными через ODBC, сначала заполняется поле со списком , потом человек делает выбор и загружает остальные данные, сохраняет документ.
Большее количество полей это суммы (Number,Editable,Currency) настройки формата пользовательские. Всё прекрасно работает.
при сохранении поля заполняются вида: 88892.00р.
Возникла потребность сделать операцию обновляющую все заведённые документы, нет проблем беру ту же операцию что в документе загоняю в цикл, всё отлично заполняется. Звонит народ, не сортируются во вьюшках данные, вернее сортируются но как текст. Смотрю все поля с суммами заполнены в виде: 88892.
Вхожу в режим редактирования, меняю чё нить, сохраняю документ, все поля снова становятся в формат :88892.00р.

Как выйти из этой ситуации ? Наверняка кто то уже сталкивался
 
Y

Yakov

Возможно, что данные из РСУБД в Notes-поле пишутся как текст. В случае одного документа, как я понял, документ сохраняется из UI. Лотус использует информацию о поле (Number,Editable,Currency) и преобразует текст в число. В случае пакетной обработки многих документов данные сохраняются как текст.
Возможное решение - явное приведение полученных из РСУБД данных к числовому виду:
Код:
Call document.replaceItemValue("Price", Cdbl(odbcResultSet.GetValue("PRICE"))
 
S

Sandro

Так я пробовал, не получается , делаю val() при записи в поле, пишет "Item %1 is not of type Textspecial type not set"
 
Y

Yakov

Вы попробуйте cdbl(), а не val(). Или даже cdbl(cstr()).
 
S

Sandro

Ykov, спасиб но это я тупень ))) Копи-паст код не досмотрел у меня в конце вставлялось значение
Call item.AppendToTextList(ist_obsl)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!