Имя: Пароль:
1C
1С v8
Дата без времени
,
0 LivingStar
 
05.09.13
08:28
Как из даты имеющей время, седелать дату без времени?
1 butterbean
 
05.09.13
08:28
формат
2 Error pro
 
05.09.13
08:29
Формат(, "ДФ=dd.MM.yyyy")
3 LivingStar
 
05.09.13
08:29
(1) а если в запросе нужно это сделать?
4 Гефест
 
05.09.13
08:30
в запросе этого делать не нужно
5 LivingStar
 
05.09.13
08:30
В условии хочу проверять на дату, но так как там есть время, очень сомнительная проверка получается...

ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка,
    ПоступлениеТоваровУслуг.Контрагент,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента КАК Договор,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности КАК КонтрольДнейЗадолженности,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
    ПоступлениеТоваровУслуг.Дата КАК ДатаДокумента,
    ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) КАК ПоследняяДатаОплаты
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ГДЕ
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
    И ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) = &ДатаОтчета

УПОРЯДОЧИТЬ ПО
    ПоступлениеТоваровУслуг.Дата УБЫВ
6 butterbean
 
05.09.13
08:31
(5) НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслуг.Дата, ДЕНЬ)
7 LivingStar
 
05.09.13
08:33
(6) Ок, спасибо, это как начало дня сработать должно.  меня У будет

НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности),ДЕНЬ)

(4) Почему не нужно делать этого в запросе?
8 Гефест
 
05.09.13
08:34
(7) потому что незачем. правильно в (6)
9 LivingStar
 
05.09.13
08:36
(8) Ну да правильно, но для запроса же это. А вы говорите не нужно это делать в запросе...
10 Wobland
 
05.09.13
08:38
(9) ты уже понял, что на самом деле хотел начало дня, а не день без времени?
11 LivingStar
 
05.09.13
08:42
(10) Понял, это

НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности),ДЕНЬ)

возвращает дату без времени, но она сравнима с началом дня
12 Гефест
 
05.09.13
08:43
нет, от времени в запросе тебе никак не избавится, смирись с этим
13 LivingStar
 
05.09.13
08:43
(11) В &ДатаОтчета начало заданной даты

ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка,
    ПоступлениеТоваровУслуг.Контрагент,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента КАК Договор,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности КАК КонтрольДнейЗадолженности,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
    ПоступлениеТоваровУслуг.Дата КАК ДатаДокумента,
    НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) КАК ПоследняяДатаОплаты
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ГДЕ
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
    И НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) = &ДатаОтчета

УПОРЯДОЧИТЬ ПО
    ПоступлениеТоваровУслуг.Дата УБЫВ
14 LivingStar
 
05.09.13
08:45
Мда, не соизмеримо! Видимо к &ДатаОтчета тоже нужно применять НАЧАЛОПЕРИОДА
15 Wobland
 
05.09.13
08:45
Получение расчетных данных не из регистра. Единственной достоверной информацией в системе учета следует считать информацию регистров. Информация из документов может рассматриваться лишь как вспомогательная и не может быть абсолютно достоверной.

за это снимают три балла - автоматический провал
16 LivingStar
 
05.09.13
08:46
Кажется так работает!

ЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка,
    ПоступлениеТоваровУслуг.Контрагент,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента КАК Договор,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности КАК КонтрольДнейЗадолженности,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
    ПоступлениеТоваровУслуг.Дата КАК ДатаДокумента,
    НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) КАК ПоследняяДатаОплаты
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ГДЕ
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
    И НАЧАЛОПЕРИОДА(
                    ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата,
                                  ДЕНЬ,
                                  ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности),
                     ДЕНЬ) = НАЧАЛОПЕРИОДА(&ДатаОтчета,ДЕНЬ)

УПОРЯДОЧИТЬ ПО
    ПоступлениеТоваровУслуг.Дата УБЫВ
17 ДенисЧ
 
05.09.13
08:47
Звёздочка опять дурит, не дожидаясь пятницы...
18 LivingStar
 
05.09.13
08:47
(15) Хорошо посмотрю какие там регистру в ПтУ используются, из них что бы извлекать...
19 Wobland
 
05.09.13
08:47
почему-то человек считает, что поступление происходит обязательно по основному договору контрагента...
20 LivingStar
 
05.09.13
08:49
(19) Да и на это тоже следует мне обратить внимание, пока вытащил основной договор...
21 LivingStar
 
05.09.13
08:55
(19) Регистров там масса используется в документе ПоступлениеТоваровУслуг! Регистра накопления ТоварыНаСкладах хватит для этой выборки???
22 Гефест
 
05.09.13
08:57
(21) Этот регистр идеально подходит для получении информации о взаиморасчетах
23 LivingStar
 
05.09.13
10:18
(22) Если не трудно подскажите от куда выбирать документы поступление товаров услуг?
24 Wobland
 
05.09.13
10:23
(23) ИЗ Документ.ПоступлениеТоваровУслуг
25 LivingStar
 
05.09.13
10:24
(24) Сами же сказали что нужно извлекать из регистра. Я пытаюсь узнать из какого будет правильнее?
26 Wobland
 
05.09.13
10:25
(25) ты спросил про документы, я тебе сказал про документы. зачем тебе документы, мне неведомо
27 LivingStar
 
05.09.13
10:32
(26) Нужна выборка по документу "поступлению товаров услуг", по документам не профессионально делать выборку, из какого регистра тогда?
28 VladZ
 
05.09.13
10:33
(27) "Нужна выборка по документу "поступлению товаров услуг", по документам не профессионально делать выборку" - чего????
29 Wobland
 
05.09.13
10:36
(27) представь себе документ, приходующий товар в количестве ГСЧ.СлучайноеЧисло()*СтрокаТЧ.Количество. что будешь делать с выборкой по таким документам?
30 Alex S D
 
05.09.13
10:36
1. Посмотреть в какие регистры делает запись документ
2. Выбрать нужный
)
31 LivingStar
 
05.09.13
10:40
(30) там их дофига...
32 hhhh
 
05.09.13
10:42
(31) ну отфильтруй, посмотри, где есть договор, чё?
33 Любопытная
 
05.09.13
10:42
(31) Уясни себе как-нибудь, какой регистр за что отвечает. Табличку какую-то сделай, в конце концов
34 Wobland
 
05.09.13
10:44
+(32)(33) за маму, за папу
35 LivingStar
 
05.09.13
10:44
(33) это хотелось бы уяснить!!!
36 Wobland
 
05.09.13
10:46
не слабо так от "Как из даты имеющей время, седелать дату без времени?" к "Уясни себе как-нибудь, какой регистр за что отвечает"
37 Alex S D
 
05.09.13
10:48
(36) ему надо уяснить, что он вообще хочет)
38 LivingStar
 
05.09.13
13:56
Такой запрос лучше , да?

ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка,
    ПоступлениеТоваровУслуг.Контрагент,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента КАК Договор,
    ПоступлениеТоваровУслуг.Дата КАК ДатаДокумента,
    НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) КАК ПоследняяДатаОплаты,
    ДоговорыКонтрагентов.КонтролироватьЧислоДнейЗадолженности,
    ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности1
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ПО ПоступлениеТоваровУслуг.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
ГДЕ
    ДоговорыКонтрагентов.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
    И НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) = НАЧАЛОПЕРИОДА(&ДатаОтчета, ДЕНЬ)

УПОРЯДОЧИТЬ ПО
    ПоступлениеТоваровУслуг.Дата УБЫВ
39 LivingStar
 
05.09.13
13:57
(38) Осталось выборку на регистр переделать...
40 LivingStar
 
06.09.13
06:32
Почему запрос в (38) в отличии от запроса в (16) выводит не все данные?
41 LivingStar
 
06.09.13
06:38
И так тоже ((

ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка,
    ПоступлениеТоваровУслуг.Контрагент,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента КАК Договор,
    ПоступлениеТоваровУслуг.Дата КАК ДатаДокумента,
    НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) КАК ПоследняяДатаОплаты,
    ДоговорыКонтрагентов.КонтролироватьЧислоДнейЗадолженности,
    ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
    ДоговорыКонтрагентов.Владелец
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ПО ПоступлениеТоваровУслуг.Контрагент = ДоговорыКонтрагентов.Владелец
ГДЕ
    ДоговорыКонтрагентов.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
    И НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) = НАЧАЛОПЕРИОДА(&ДатаОтчета, ДЕНЬ)

УПОРЯДОЧИТЬ ПО
    ПоступлениеТоваровУслуг.Дата УБЫВ
42 Гефест
 
06.09.13
06:39
Кэп полагает, что все дело в разных условиях
43 LivingStar
 
06.09.13
06:44
так вот попробовал, тоже вторую не выводит (

ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка,
    ПоступлениеТоваровУслуг.Контрагент,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента КАК Договор,
    ПоступлениеТоваровУслуг.Дата КАК ДатаДокумента,
    НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) КАК ПоследняяДатаОплаты,
    ДоговорыКонтрагентов.КонтролироватьЧислоДнейЗадолженности,
    ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
    ДоговорыКонтрагентов.Владелец
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ПО ПоступлениеТоваровУслуг.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
ГДЕ
    ДоговорыКонтрагентов.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
    И НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) = НАЧАЛОПЕРИОДА(&ДатаОтчета, ДЕНЬ)

УПОРЯДОЧИТЬ ПО
    ПоступлениеТоваровУслуг.Дата УБЫВ
44 LivingStar
 
06.09.13
06:45
(42) да нет одинаковые условия, во втором прицепил справочник договоров только
45 LivingStar
 
06.09.13
06:50
думаю на таком остановиться...

ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка,
    ПоступлениеТоваровУслуг.Контрагент,
    ПоступлениеТоваровУслуг.ДоговорКонтрагента,
    ПоступлениеТоваровУслуг.Номер,    
    ПоступлениеТоваровУслуг.Дата,    
    ПоступлениеТоваровУслуг.СуммаДокумента,    
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности КАК КонтрольДнейЗадолженности,
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
    ПоступлениеТоваровУслуг.Дата КАК ДатаДокумента,
    НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) КАК ПоследняяДатаОплаты
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ГДЕ
    ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
    И НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.Контрагент.ОсновнойДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) = НАЧАЛОПЕРИОДА(&ДатаОтчета, ДЕНЬ)

УПОРЯДОЧИТЬ ПО
    ПоступлениеТоваровУслуг.Дата УБЫВ
46 LivingStar
 
06.09.13
06:54
А как в (43) делать соединение для 2х записей? Там выбрать нужно 2 документа но у них один и тот же договор, поэтому видимо всегда выводится одна строка, второй документ не захватывается!!!
47 LivingStar
 
06.09.13
07:02
Хотя вот в этом поправил условия, должен вроде выводить вторую строку, но не выводит...

ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка,
    ПоступлениеТоваровУслуг.Контрагент,
    ПоступлениеТоваровУслуг.ДоговорКонтрагента КАК Договор,
    ПоступлениеТоваровУслуг.Дата КАК ДатаДокумента,
    НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) КАК ПоследняяДатаОплаты,
    ДоговорыКонтрагентов.КонтролироватьЧислоДнейЗадолженности,
    ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
    ДоговорыКонтрагентов.Владелец
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ПО ПоступлениеТоваровУслуг.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
ГДЕ
    ПоступлениеТоваровУслуг.ДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
    И НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ) = НАЧАЛОПЕРИОДА(&ДатаОтчета, ДЕНЬ)

УПОРЯДОЧИТЬ ПО
    ПоступлениеТоваровУслуг.Дата УБЫВ
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший