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

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

Guest

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

morpheus

скриптописец
07.08.2006
3 915
1
#2
Set collection = db.Search(searchFormula$, Nothing,0) - может так...

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

Guest

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

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

morpheus

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

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

Kizarek86

Lotus team
20.07.2007
864
4
#6
Код:
db.Search(searchFormula$, Nothing,1)
если ищешь 1 документ, то лучше ставь количество документов, если база большой будет, ощутимо быстрее будет поиск.
 
G

Guest

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

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 583
269
#9
а так: CollectionOfContract = DB.Search(Строка(SearchFormulaContract), , 0);
ЗЫ: 1С не знаю
 

Medevic

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

Guest

#12
В 1С, вроде бы, это Неопределено. Т.е. DB.Search(Строка(SearchFormulaContract), Неопределено, 0);
А лучше в справке глянуть.
А вот как-то через NoteaSession, можно определить тип данных Nothing, как вот к примеру создаю тип данныз дата, которую он собственно говоря и хочет видить:
Session.CreateDateTime(Строка(ТекущаяДата() - 365));
 

morpheus

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

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#15
Есть. Сравнить с Неопределено. Вроде бы. ;)

Это в 8-ке.
 
G

Guest

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

Guest

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

morpheus

скриптописец
07.08.2006
3 915
1
#20
кавычки необходимо заменить на " = "\

вроде так

наоборот \"