Имя: Пароль:
1C
 
Найти документ по номеру 1с 8.3
0 Eeelena
 
15.12.14
11:23
Подскажите, а как мне найти документ по номеру за определенную дату, делаю следующим образом Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру(ПостулениеУслуг.НомерДок, ПостулениеУслуг.ДатаДок), но он ищет документы за весь год, а не по дате ПостулениеУслуг.ДатаДок, так как нумерация документа периодичность в пределах года
1 GROOVY
 
15.12.14
11:24
Запросом
2 Eeelena
 
15.12.14
11:38
(1) а без запроса как то можно еще ?
3 salvator
 
15.12.14
11:39
(2) Можно. Но лучше запросом.
4 Eeelena
 
15.12.14
11:40
(3) а как?
5 GROOVY
 
15.12.14
11:41
ВЫБРАТЬ
Ссылка
Из
Документ.ПоступлениеТоваровУслуг
ГДЕ
Номер = &Номер И Дата МЕЖДУ &НачалоДня и &КОнецДня
6 Eeelena
 
15.12.14
11:41
(3) а как без запроса?
7 mehfk
 
15.12.14
11:41
(2) А чем запрос не угодил?
8 mehfk
 
15.12.14
11:42
(6) Выборка + перебор
9 GROOVY
 
15.12.14
11:42
(7) Ну не умеет она запросом.
11 mehfk
 
15.12.14
11:43
(9) Так и незапросом тоже не умеет :)
12 GROOVY
 
модератор
15.12.14
11:43
Предупреждаю: Оффтопик в тематических ветках запрещен.
13 Eeelena
 
15.12.14
11:47
(7) (8) (9) (11) (12) Ребята, хочу сделать таким образом Документы.РеализацияТоваровУслуг.НайтиПоНомеру(Реализация.НомерДок, Реализация.ДатаДок), но чтоб выбирал именно на ту дату которая указана, а не смотрел в пределах года, скажите возможно ли такое, еси да то как?
14 GROOVY
 
15.12.14
11:48
(13) Нет, так получится искать только по периоду нумерации (году). Можно сделать элементарным простым запросом, текст которого выше.
15 ДенисЧ
 
15.12.14
11:48
(13) Запросом делай.
16 r_p
 
15.12.14
11:49
(13) А вот низя.

<ДатаИнтервала> (необязательный)

Тип: Дата.
Дата из интервала, в котором проводится поиск по номеру. Сам интервал определяется как период уникальности номеров документа, в который входит указанная дата. Например, если номера документов уникальны в пределах месяца и задана дата 10 декабря 2001 года, то поиск будет проводиться в интервале с 01 по 31 декабря 2001 года.
Параметр используется для документов с периодической нумерацией.
17 r_p
 
15.12.14
11:50
1. Напиши функцию с запросом.
2. Используй ее где надо.
3. ...
4. PROFIT
18 GROOVY
 
15.12.14
11:51
(15) (16) Вы там за синтаксис-помощник не подеритесь ;)
19 silent person
 
15.12.14
11:58
&НаСервере
Функция НайтиДокумент()
    Выборка = Документы.Документ2.Выбрать(Дата("20141017000000"),Дата("20141018000000"));
    Пока Выборка.Следующий() Цикл
        Если Выборка.Номер = "000000002" Тогда
            Возврат Выборка.Дата;    
        КонецЕсли;
    КонецЦикла;
КонецФункции


но лучше запросом
20 ам794123
 
15.12.14
12:03
(13) Попробуй метод ПолучитьДанныеВыбора(), в параметрах этого метода можно наложить любой отбор. НО! это гораздо сложнее, чем запросом.
21 Eeelena
 
15.12.14
12:05
(20) а можете пример привести?
22 ам794123
 
15.12.14
12:09
не могу
23 ам794123
 
15.12.14
12:10
это очень сложно для меня, попросите GROOVY
24 GROOVY
 
15.12.14
12:10
(21) Может постараетесь запросом решить задачу. И запрос уже готов. А?
25 GROOVY
 
15.12.14
12:11
(23) Это даже я не умею!
26 Eeelena
 
15.12.14
12:11
попробую методом (19), всем спасибо за помощь)
27 GROOVY
 
15.12.14
12:12
(ушел убиваться об стену)
28 hhhh
 
15.12.14
12:28
(26) почему всё-таки отказались от

Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру(ПостулениеУслуг.НомерДок, ПостулениеУслуг.ДатаДок)  ??

чем не устроило?
29 Eeelena
 
15.12.14
12:34
(28) он ищет документы за весь год, а мне нужно за определенную дату ПостулениеУслуг.ДатаДок
30 Любопытная
 
15.12.14
12:39
(29) Так чем запрос не угодил?
31 DS
 
15.12.14
12:48
(29) Что это у вас с базой, если в пределах одного интервала нумерации есть несколько документов с одним номером?
32 Eeelena
 
15.12.14
12:57
(31) я переношу документы из 7.7 и там доки разных видов, а в 8 одного
33 GROOVY
 
15.12.14
12:59
(32) Советую о КД почитать. Удобная штука.
34 GROOVY
 
15.12.14
13:00
(32) ... и вся эта фигня будет в цикле по документам. Жесть.
35 DS
 
15.12.14
14:01
(32) Так вы же ищите уже в 8-ке. Там, где одного вида. Не может уже в 8-ке быть такой ситуации.
36 mehfk
 
15.12.14
14:13
(35) Легко.
Д = ТекущаяДата();
Для й = 1 по 10 Цикл
Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
Док.Дата = Д;
Док.Номер = "00000000001";
Док.ОбменДанными.Загрузка = Истина;
Док.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла
37 DS
 
15.12.14
15:46
(36) Да-да. И в модуле объекта везде понатыкать "ОбменДанными.Загрузка = Истина;", чтоб наверняка.
38 mehfk
 
15.12.14
15:52
Это из методики разработки, принятой в вашей организации?
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой