Имя: Пароль:
1C
 
Поиск документа по дате и сумме
,
0 Мисти
 
23.12.15
13:20
Запрос.УстановитьПараметр("ВыбНомер", "ВС+%");
        Запрос.УстановитьПараметр("ВыбИНН", СокрЛП(Док7.Контрагент.ИНН)+"%");
        Запрос.УстановитьПараметр("ДатаНач",Док7.ДатаДок-1);
        Запрос.УстановитьПараметр("ДатаКон", Док7.ДатаДок+1);
        Запрос.УстановитьПараметр("СуммаДокумента", Док7.Итог("Всего"));
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ПоступлениеТоваровУслуг.Дата,
        |    ПоступлениеТоваровУслуг.Контрагент.ИНН Как ИНН,
        |    ПоступлениеТоваровУслуг.Контрагент.КПП Как КПП,
        |    ПоступлениеТоваровУслуг.Ссылка,
        |    ПоступлениеТоваровУслуг.СуммаДокумента,
        |    ПоступлениеТоваровУслуг.Номер
        |ИЗ
        |    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        |ГДЕ
        |    ПоступлениеТоваровУслуг.Номер ПОДОБНО &ВыбНомер
        |    И ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
        |    И ПоступлениеТоваровУслуг.СуммаДокумента = &СуммаДокумента
        |    И ПоступлениеТоваровУслуг.Контрагент.ИНН ПОДОБНО &ВыбИНН";
1 Мисти
 
23.12.15
13:21
Почему часть документов не находится?
2 Мисти
 
23.12.15
13:22
По одному и тому же контрагенту - 17 штук нашлось, а 2 - нет.
Глазами смотрю - дата совпадает, сумма тоже, номер правильный.
В чем может быть дело?
3 Тoлько_
Просмотр
 
23.12.15
13:24
(2) Неправильно заданы периоды и неправильно поставлено условие по периодам в запросе.
4 Builder
 
23.12.15
13:28
Док7.ДатаДок+1
Видимо дата документа из 7-ки?
А добавляется 1 секунда? Или 1 день?
Проверь получившуюся дату в условии.
5 Мисти
 
23.12.15
13:29
Добавляется день, я думаю.
6 Тoлько_
Просмотр
 
23.12.15
13:33
(5) Думать тут не надо, учи мат часть, чтобы потом не удивляться всякой фигне)

В 8 к дате добавляется секунда.

Я сегодня добрый, вот правильный код:

Запрос.УстановитьПараметр("ДатаНач",Док7.ДатаДок);
Запрос.УстановитьПараметр("ДатаКон",Док7.ДатаДок);

И ПоступлениеТоваровУслуг.Дата МЕЖДУ НачалоПериода(&ДатаНач,ДЕНЬ) И КонецПериода(&ДатаКон,ДЕНЬ)


Количество дней регулируй в запросе, изучай ДОБАВИТЬКДАТЕ.

Всё разжевал.
7 Мисти
 
23.12.15
13:37
С чего это секунда? Я же из 7 в 8 запускаю, параметр определяется в 7, а в 7 это - день.
Я задала сумму от поменьше на 1 до побольше на 1 - и у меня нашлось гораздо больше документов!
8 Тoлько_
Просмотр
 
23.12.15
13:55
(7) >> С чего это секунда? Я же из 7 в 8 запускаю

Вот с этого места поподробнее. Код-то восьмерошный.
9 itlikbez
 
23.12.15
14:00
(8) Код нельзя определить. Может и семерочный.
10 Рэйв
 
23.12.15
14:01
(7)Сделай проще

Запрос.УстановитьПараметр("ДатаКон", КонецДня(Док7.ДатаДок+1));
11 Niveus
 
23.12.15
14:01
Тебе нужно искать доки за 2 секунды?  

Запрос.УстановитьПараметр("ДатаНач",Док7.ДатаДок-1);
Запрос.УстановитьПараметр("ДатаКон", Док7.ДатаДок+1);

Почему такие параметры?
12 itlikbez
 
23.12.15
14:01
(9) Нет. Вру. Можно определить. (Док7.Итог()) Точно семерочный.
13 itlikbez
 
23.12.15
14:02
(11) Код 7.7
14 Рэйв
 
23.12.15
14:02
+(10)и если код выполняется на стороне 8 , то
Запрос.УстановитьПараметр("ДатаКон", КонецДня(Док7.ДатаДок+86400));
15 Тoлько_
Просмотр
 
23.12.15
14:04
(9) Да ладно)) точно нельзя? А текст запроса в семёрке тоже такой же можно использовать?))
16 aleks_default
 
23.12.15
14:05
(13)с каких это пор в 7.7 такие запросы?
17 Тoлько_
Просмотр
 
23.12.15
14:05
Чувствую Мисти скрывает важные детали.
18 ЧеловекДуши
 
23.12.15
14:05
(0) Это от безысходности :)
19 itlikbez
 
23.12.15
14:06
(0) Номер проверяла?
20 ЧеловекДуши
 
23.12.15
14:06
(17) Все просто... Учет в компании, чисто по сумме и дате :)

т.е. Учета нет толкового :)
21 itlikbez
 
23.12.15
14:06
(15) Да, на здоровье.
22 itlikbez
 
23.12.15
14:06
(16) С тех пор, как появилась 8.
23 ЧеловекДуши
 
23.12.15
14:07
(2) Потому, что 2 документа имеют другую сумму, Буху привет :)
24 ЧеловекДуши
 
23.12.15
14:08
(6) Мат часть тут ни причем. :)

Самое веселое, когда будет 1000 документов в одном периоде, с одной и той же суммой :)

Или разной :)
25 Анцеранана
 
23.12.15
14:09
Универсальный способ - ремарить сначала одну строчку, потом другую. Так и найдешь.)
26 ЧеловекДуши
 
23.12.15
14:09
Лучше получить список Контрагентов

Потом на основе этого списка, получить все документы за период :)
27 itlikbez
 
23.12.15
14:09
(2) Номер надо бы повнимательнее проверить. Для "ВС+" возможно 4 (четыре варианта) написания.
28 Тoлько_
Просмотр
 
23.12.15
14:13
Прямо пятница какая-то)))
29 Мисти
 
23.12.15
14:39
Я думаю, дело в каких-то скрытых  тысячных частях, потому что с разбросом суммы +-1 всё нашлось, хотя в реальности там суммы отличаются в разных документах на сотни рублей.
30 Мыш
 
23.12.15
14:52
(29) А может из-за "ВС+%"
31 Мисти
 
23.12.15
14:54
(30) Да нет же! почти все документы нашлись, а префикс у всех одинаковый.
32 salvator
 
23.12.15
14:57
Предполагаю, дело в дате.
33 salvator
 
23.12.15
14:58
(31) Какие документы не нашлись? Какое у них отличие от найденных?
34 Мисти
 
23.12.15
14:58
Я ж написала, что изменила поиск суммы и нашлось почти всё! Что не нашлось - я смотрю сейчас глазами, и, похоже, их просто нет.
35 Мыш
 
23.12.15
15:00
(34) Отсюда подробнее. Т.е. всё это время искали черную кошку, отсутствующую в черной комнате? )
36 Мисти
 
23.12.15
15:05
(34) Ага! Даже обидно. В кои-то веки собрались помочь. Я в (7) написала, но кто ж читает автора?
37 salvator
 
23.12.15
15:14
(36) А если период сделать более, чем две секунды, найдется еще больше, возможно.
38 itlikbez
 
23.12.15
15:22
(37) У нее период - два дня, плюс одна секунда. Смотри внимательнее.