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

Тема в разделе "Lotus - Программирование", создана пользователем Sandro, 18 фев 2010.

  1. Sandro

    Sandro Гость

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

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

    Yakov Гость

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

    Sandro Гость

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

    Yakov Гость

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

    Sandro Гость

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

Поделиться этой страницей