• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы Guest
  • Дата начала
G

Guest

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

morpheus

Set collection = db.Search(searchFormula$, Nothing,0) - может так...

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

Guest

Set collection = db.Search(searchFormula$, Nothing,0) - может так...

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

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

morpheus

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

ну или < или > или =
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
28
Код:
db.Search(searchFormula$, Nothing,1)

если ищешь 1 документ, то лучше ставь количество документов, если база большой будет, ощутимо быстрее будет поиск.
 
G

Guest

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

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 927
608
BIT
150
а так: CollectionOfContract = DB.Search(Строка(SearchFormulaContract), , 0);
ЗЫ: 1С не знаю
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
В 1С, вроде бы, это Неопределено. Т.е. DB.Search(Строка(SearchFormulaContract), Неопределено, 0);
А лучше в справке глянуть.
 
G

Guest

В 1С, вроде бы, это Неопределено. Т.е. DB.Search(Строка(SearchFormulaContract), Неопределено, 0);
А лучше в справке глянуть.

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

morpheus

Денис Кириченко
неужели в 1С нет воможности проверить что переменная класса - ничто ...
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Есть. Сравнить с Неопределено. Вроде бы. ;)

Это в 8-ке.
 
G

Guest

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

Guest

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

morpheus

кавычки необходимо заменить на " = "\

вроде так

наоборот \"
 
Мы в соцсетях:

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