Как правильно задать параметры Db.search()

Тема в разделе "Lotus - Программирование", создана пользователем -, 8 дек 2008.

  1. Гость

    Хочу найти в Представлении контрагента (ContractParties, Kod - поля формы):
    searchFormula$ = {Form = "Contract" & ContractParties = "Юг-Газ" & Kod = "30194498"}
    Set db = session.CurrentDatabase
    Set collection = db.Search(searchFormula$, dateTime,0)
    Не получается.
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Set collection = db.Search(searchFormula$, Nothing,0) - может так...

    а если формулу в вид вставить показывает? может неправильные значения
     
  3. Гость

    А вот Nothing, можно заменить на дату, выбирает все замечательно, только вот не за конкретную дату :rolleyes:
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Денис Кириченко
    используйте в поисковой формуле явно дату...
    searchFormula$ = {Form = "Contract" & ContractParties = "Юг-Газ" & Kod = "30194498" & MyCollDate = [12.12.1212]}

    ну или < или > или =
     
  5. Гость

    Примного благодарем +1 ;)
     
  6. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Код (Text):
    db.Search(searchFormula$, Nothing,1)
    если ищешь 1 документ, то лучше ставь количество документов, если база большой будет, ощутимо быстрее будет поиск.
     
  7. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.291
    Симпатии:
    0
    А 2-й параметр - это не конкретная дата
     
  8. Гость

    Народ, как через OLE передать Nothing. Пишу в 1С следующие - CollectionOfContract = DB.Search(Строка(SearchFormulaContract), НачДата, 0);
    когда хочу заменить НачДата на что-то типо Строка("Nothing") пишет - Типы не совпадают ;)
     
  9. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    а так: CollectionOfContract = DB.Search(Строка(SearchFormulaContract), , 0);
    ЗЫ: 1С не знаю
     
  10. Гость

    Да пробывал, не выходит ;)
     
  11. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    В 1С, вроде бы, это Неопределено. Т.е. DB.Search(Строка(SearchFormulaContract), Неопределено, 0);
    А лучше в справке глянуть.
     
  12. Гость

    А вот как-то через NoteaSession, можно определить тип данных Nothing, как вот к примеру создаю тип данныз дата, которую он собственно говоря и хочет видить:
    Session.CreateDateTime(Строка(ТекущаяДата() - 365));
     
  13. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Не понял вопроса.
     
  14. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Денис Кириченко
    неужели в 1С нет воможности проверить что переменная класса - ничто ...
     
  15. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Есть. Сравнить с Неопределено. Вроде бы. ;)

    Это в 8-ке.
     
  16. Гость

    Народ, вот с датой понятно надо брать в ковычки MyCollDate = [12.12.1212], а вот число:
    searchFormula$ = {Form = "Contract" & ContractParties = "Юг-Газ" & Kod = "30194498" & MyNumber = [13]}
     
  17. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    А вот число не надо
    Код (Text):
    {MyNumber = 13}
     
  18. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    или @TextToNumber или просто без кавычек Kod = 30194498
     
  19. Гость

    Народ, а как быть с ковычками в выражении формулы, что-то вроде:
    searchFormula$ = {Form = "Contract" & ContractParties = "ФІЛІЯ ВАТ "УКРЕКСІМБАНК" У М.ОДЕСІ" & Kod = "09805053"}
    Set db = session.CurrentDatabase
    Set collection = db.Search(searchFormula$, dateTime,0)
    так не проканывает :(
     
  20. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    кавычки необходимо заменить на " = "\

    вроде так

    наоборот \"
     
Загрузка...

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