![]() |
|
v7: Поиск документа запросом (конфигурация ТиС 9.2) | ☑ | ||
---|---|---|---|---|
0
kupreeff
19.09.14
✎
17:14
|
Есть функция:
Функция глНайтиДокумент(ВхНомер,ВхДата,Контрагент) ТекстЗапроса=" |Док=Документ.ПоступлениеТМЦ.ТекущийДокумент; |Контрагент1=Документ.ПоступлениеТМЦ.Контрагент; |ВхНомер1=Документ.ПоступлениеТМЦ.НомерДокВходящий; |ВхДата1=Документ.ПоступлениеТМЦ.ДатаДокВходящий; |Условие(СокрЛП(ВхНомер1)=СокрЛП(ВхНомер)); |Условие(СокрЛП(ВхДата1)=СокрЛП(ВхДата)); |Условие(Контрагент1=Контрагент); |Функция кол=Счётчик(Док); |Группировка Док;"; Запрос=СоздатьОбъект("Запрос"); если Запрос.Выполнить(ТекстЗапроса)=1 Тогда //ТЗ=СоздатьОбъект("ТаблицаЗначений"); //Запрос.Выгрузить(ТЗ); //ТЗ.ВыбратьСтроку(); Если Запрос.группировка(1)=1 Тогда Возврат Запрос.Док; Иначе Возврат "" Конецесли; Конецесли; Возврат ""; КонецФункции В функцию передаю входящие номер, дату и контрагента поступления, которое точно есть в базе. Функция возвращает "". Где туплю? Спасибо. |
|||
1
ДенисЧ
19.09.14
✎
17:17
|
|Условие(СокрЛП(ВхДата1)=СокрЛП(ВхДата));
зачем? |
|||
2
Ёпрст
гуру
19.09.14
✎
17:17
|
дату к строке приводить - моветон
|
|||
3
kupreeff
19.09.14
✎
17:17
|
Ищу по сочетанию Входящий номер+Входящая дата +Контрагент имеющуюся накладную в базе
|
|||
4
kupreeff
19.09.14
✎
17:18
|
(1),(2) - а, уловил
|
|||
5
kupreeff
19.09.14
✎
17:19
|
Поправил, сделал |Условие(ВхДата1=ВхДата); результат тот же (
|
|||
6
kupreeff
19.09.14
✎
17:19
|
а, приведу ка к дате...
|
|||
7
пипец
19.09.14
✎
17:20
|
ахринеть
Зы а запросом по виду документа за нужную дату - Запрос.Выгрузить(ТЗ,0,0) и в ТЗ искать ? не ? |
|||
8
Ёпрст
гуру
19.09.14
✎
17:22
|
для начала, выкинуть вообще все условия, окромя клиентоса, потом показать, как ты передаешь в эту функцию самого клиентоса.
Проблема в нём, 98% ЗЫ: видать передаешь переменную с типом, заместо ссылки |
|||
9
kupreeff
19.09.14
✎
17:24
|
не, никак..
ВхДата_=Дата(ВхДата); ... |Условие(ВхДата1=ВхДата_); тоже не помогло (8) передаю ссылку на элемент, посмотрел в отладчике |
|||
10
kupreeff
19.09.14
✎
17:24
|
Выкинул условия по совету (8), хм...всеравно пусто...
|
|||
11
lamme
19.09.14
✎
17:25
|
убери все условия
проверь - есть что-то или нет в результате запроса. Потом добавь одно условие. Опять проверь и тд и так поймаешь то условие - которое не срабатывает. Дальше - надо смотреть что за условие, что на входе и с чем сравнивает |
|||
12
lamme
19.09.14
✎
17:28
|
и я б Функцию счетчик убрал бы ...
имхо - лишняя группировка по документу есть - этого хватит |
|||
13
kupreeff
19.09.14
✎
17:29
|
Все, разобрался. Всем спасибо.
Нужно было явно написать Обрабатывать НеПомеченныеНаУдаление;ОбрабатыватьДокументы Все; (искомые документ был не проведен, видимо по умолчанию запрос ищет проведенные, как-то сколько работаю с 7-ой не задумывался...) |
|||
14
Ёпрст
гуру
19.09.14
✎
17:31
|
(13) да, так и есть, по-умолчанию, только проведенные
|
|||
15
КонецЦикла
19.09.14
✎
17:38
|
Если это часто юзается - лучше в графу отбора влепить номер и на всякий случай сравнивать другие параметры в переборе. Быстрее будет...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |