|
v7: сортировка документа по дате создания в 1С 7.7 | ☑ | ||
---|---|---|---|---|
0
amadeus2010
22.06.12
✎
13:46
|
Добрый день,есть запрос созданный 1С 7.7 попросили немного изменить его таким образом чтобы сортировка шла по дате создания документа.Цель запроса вывести все накладные клиента за определенную дату,например с 01.06.12 по 20.06.12
///////////////////////////////////////////// Запрос11 = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(СчетФактуры) |Период с НачДата по КонДата; |ДатаДок = Документ.РасходнаяНакладная.ДатаДок; |НомерНакл = Документ.РасходнаяНакладная.НомерДок; |Контрагент = Документ.РасходнаяНакладная.Контрагент; |Группировка НомерНакл Упорядочить по ДатаДок; |Условие (Контрагент в ВыбКонтрагент); |"//}}ЗАПРОС ////////////////////////////////////////////////////////////////////// правильно ли написан запрос? |
|||
1
amadeus2010
22.06.12
✎
13:54
|
есть кто-нибудь?
|
|||
2
m-serg74
22.06.12
✎
13:59
|
типа вот так
ТекДок = Документ.Реализация.ТекущийДокумент; Контрагент = Документ.Реализация.Контрагент; Группировка ТекДок упорядочить по ТекДок.ДатаДок; Условие(Контрагент = ВыбКонтр); |
|||
3
amadeus2010
22.06.12
✎
14:06
|
(2) Группировка НомерНакл Упорядочить по Документ.РасходнаяНакладная.ДатаДок;
т.е предлагаете сделать так? НомерНакл небходим для группировки и вывода номеров накладных в строке результата запроса |
|||
4
m-serg74
22.06.12
✎
14:11
|
ТекДок = Документ.Реализация.ТекущийДокумент;
ДатаДок = Документ.Реализация.ДатаДок; НомерНакл = Документ.Реализация.НомерДок; Контрагент = Документ.Реализация.Контрагент; Группировка НомерНакл; Группировка ТекДок упорядочить по ТекДок.ДатаДок; Условие(Контрагент в ВыбКонтр); тогда наверное так |
|||
5
m-serg74
22.06.12
✎
14:12
|
потому что (по моему) "Группировка НомерНакл Упорядочить по ДатаДок;"
группировать по одному полю, а упорядочивать по другому не получится... может я ошибаюсь))) |
|||
6
Aleksey
22.06.12
✎
14:12
|
А причем тут дата создания если сортируешь по номеру документа?
|
|||
7
m-serg74
22.06.12
✎
14:13
|
(6) эт кому? )
|
|||
8
Aleksey
22.06.12
✎
14:13
|
Автору
|
|||
9
m-serg74
22.06.12
✎
14:14
|
понял, и я ему тоже говорю)
|
|||
10
Aleksey
22.06.12
✎
14:14
|
Я сегодня (22.07.12) создал документ от 30.05.12.
Т.е. дата создания 22.07.12 А вот дата документа 30.05.12 |
|||
11
m-serg74
22.06.12
✎
14:17
|
(10) эт как? с 8 кой не путаешь?
|
|||
12
m-serg74
22.06.12
✎
14:18
|
ТС с секцией видимо ошибся
|
|||
13
amadeus2010
22.06.12
✎
14:22
|
(6)задача стоит такая что номера накладных должны выводиться по дате . Т.е если за период времени клиенту выписали 5 накладных то они должны отобразиться все начиная от меньшей даты к большей.Изначально я сделал группировку по НомерНакл
/////////////////////////////////////////////////////////////////////// |Период с НачДата по КонДата; |ДатаДок = Документ.РасходнаяНакладная.ДатаДок; |НомерНакл = Документ.РасходнаяНакладная.НомерДок; |Контрагент = Документ.РасходнаяНакладная.Контрагент; |Группировка НомерНакл; ////////////////////////////////////////////////////////////////// Но бухгалтера сказали что накладные отображаются по возрастанию номера накладной.Я поменял на Группировка ДатаДок,опять пришли и сказали что отображаются только последние накладные а не все за период скажем 5 дней.Теперь как сделать так чтобы сортировать накладные по дате документа. |
|||
14
Aleksey
22.06.12
✎
14:24
|
(11) Нет не путаю. У тебя буха разносят выписку день в день или будут сегодня создавать выписку за вчера, т.е. проводить ее 21.06 ?
|
|||
15
Aleksey
22.06.12
✎
14:25
|
(13)
|Группировка ДатаДок, НомерНакл; |
|||
16
amadeus2010
22.06.12
✎
14:29
|
Бухи клиентам делают выписку по накладным и клиентам удобнее смотреть накладные по дате документа, а не возрастанию накладных
|
|||
17
m-serg74
22.06.12
✎
14:29
|
(14) а где в 7ке дата создания и дата документа, и разве они отличаются? я почему то всегда думал что есть ДатаДок единственная и неповтр.
|
|||
18
m-serg74
22.06.12
✎
14:34
|
(13)
> отображаются только последние накладные а не все за период скажем 5 дней а это как от группировок зависит? |
|||
19
m-serg74
22.06.12
✎
14:35
|
понял, я ж говорю добавь в группировки сам документ
|
|||
20
m-serg74
22.06.12
✎
14:36
|
а вот упорядочивание настраивай как надо бухам
|
|||
21
amadeus2010
22.06.12
✎
14:37
|
я про ДатаДок и говорю, документ например был создан 15.06.12-это и есть его дата создания.Я имел ввиду что сортировать по ДатаДок что показать накладные за весь выбранный период.Кстати код из (4) работает, спасибо,сейчас посмотрю (15)
|
|||
22
Aleksey
22.06.12
✎
14:40
|
(17) В явном вие его нет. В неявном, например в журнале регистрации. Плюс ID документа тоже возрастает по мере создания. ак что сортировка по ID и будет сортировкой по дате создания
(21) Нет 15.06.12 это дата докуменента, ну никак не дата создания. Тем более завтра баба Маша поняла что ошиблась и исправила дату на 20.06.12. И что по твоему дата создания поменялась? |
|||
23
m-serg74
22.06.12
✎
14:43
|
(17) а где ты в (0) нашел ИД? да ТС просто под датой создания понимает, если не ошибаюсь дату которая в Шапке дока стоит)) т.е. дата документа
|
|||
24
m-serg74
22.06.12
✎
14:43
|
(23) 2 (22)
|
|||
25
Aleksey
22.06.12
✎
14:45
|
(23) И чё?
И я о том же что ТС использует неправильную терминологию, на что я и пытаюсь ему указать. Заодно и уточнить по какой дате он сортирует |
|||
26
m-serg74
22.06.12
✎
14:46
|
так из запроса в (0) понятно по какой дате)
|
|||
27
amadeus2010
22.06.12
✎
14:50
|
Объясните пожалуйста ИД ДатаДок как мне сделать по нему сортировку? В 7.7 не силен,поэтому задаю такие вопросы.
|
|||
28
amadeus2010
22.06.12
✎
14:51
|
в запросе использовал методы 8.ххх при построение запроса
|
|||
29
m-serg74
22.06.12
✎
14:52
|
(27) тогда ответь на (25) "Заодно и уточнить по какой дате он сортирует"...
|
|||
30
amadeus2010
22.06.12
✎
14:58
|
я сортирую по ДатаДок в шапке документа, в свойствах также указано что ИД ДатаДок=ДатаДок. А насчет кода (4) сейчас бухи пусть проверят все ли сходится
|
|||
31
m-serg74
22.06.12
✎
15:02
|
в свойствах также указано что ИД ДатаДок=ДатаДок
это откуда взято? |
|||
32
amadeus2010
22.06.12
✎
15:41
|
(31)Я ЭТО ВЗЯЛ ИЗ СВОЙСТВА ПОЛЯ ВВОДА ДАТАДОК
|
|||
33
Aleksey
22.06.12
✎
15:53
|
(32) У Даты Док нет ID. Оно есть только у объекта, т.е. у документа
Короче, если тебе нужно по ДатаДок, сортировать, но не заморачивайся, просто держи в голове, что дата создания/проведения/изменения документа это не тоже самое что датаДок. ДатаДок - это просто ДатаДок, не более |
|||
34
amadeus2010
22.06.12
✎
15:56
|
Кстати бухи проверили накладную и обнаружили что сортировка по дате идет странным образом.Первые 2-3 номера сортируются по дате, а остальные 3-4 по возрастанию номера накладной
|
|||
35
amadeus2010
22.06.12
✎
15:58
|
(33) И как мне поступить тогда?
|
|||
36
Lionee
22.06.12
✎
16:01
|
подумать
|
|||
37
Aleksey
22.06.12
✎
16:03
|
(35)
|Группировка ДатаДок, НомерДок; |
|||
38
amadeus2010
22.06.12
✎
16:03
|
(34) моя опечатка в коде запроса я вместо ТекДок = Документ.Реализация.ТекущийДокумент написал ТекДок = Документ.Реализация.ДатаДок, поэтому ДатаДок была объявлена дважды,что возможно и привело к ошибке выполнения запроса
|
|||
39
amadeus2010
22.06.12
✎
16:33
|
НАСКОЛЬКО Я ПОНЯЛ ГРУППИРОВКА ДОЛЖНА ИДТИ ПО НОМЕРДОК А УПОРЯДОЧИТЬ ПО ДАТАДОК.
|
|||
40
smaharbA
22.06.12
✎
16:36
|
упорядочивание уточняемо
|
|||
41
smaharbA
22.06.12
✎
16:37
|
и просче упорядочить по документам
|
|||
42
amadeus2010
22.06.12
✎
16:50
|
я сделал так
///////////////////////////////////////////////////////////////////////// Запрос11 = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(СчетФактуры) |Период с НачДата по КонДата; // |ДатаДок = Документ.РасходнаяНакладная.ДатаДок; // |НомерНакл = Документ.РасходнаяНакладная.НомерДок; // |Контрагент = Документ.РасходнаяНакладная.Контрагент; // |Группировка НомерДок,ДатаДок; // |Условие (Контрагент в ВыбКонтрагент); // |"//}}ЗАПРОС |ТекДок = Документ.РасходнаяНакладная.ТекущийДокумент; //|ДатаДок = Документ.РасходнаяНакладная.ДатаДок; |НомерНакл = Документ.РасходнаяНакладная.НомерДок; |Контрагент = Документ.РасходнаяНакладная.Контрагент; //|Группировка НомерНакл; |Группировка ТекДок Упорядочить по ТекДок.ДатаДок,ТекДок.НомерДок; |Условие(Контрагент в ВыбКонтрагент); |"//}}ЗАПРОС /////////////////////////////////////////////////////////////////////////// |
|||
43
m-serg74
22.06.12
✎
16:55
|
я не пойму что именно тебе надо для отчета? в послед. варианте НомерНакл тебе придется отдельно при выводе результата запроса получать из ТекДок, потому как - нет группировки, нет и поля, тогда и не понятно зачем: "НомерНакл = Документ.РасходнаяНакладная.НомерДок;", если ты его нигде не используешь...
|
|||
44
amadeus2010
22.06.12
✎
16:57
|
версия в (42) вполне рабочая,ее бухам и отдам.
|
|||
45
m-serg74
22.06.12
✎
17:00
|
|НомерНакл = Документ.РасходнаяНакладная.НомерДок;
вот это закомменть тоже оно бесполезно... |
|||
46
Mikeware
22.06.12
✎
17:01
|
Что ты хочегь? упордочить документы по номеру внутри даты, чтоль?
|
|||
47
Aleksey
22.06.12
✎
17:49
|
(46) Да
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |