Имя: Пароль:
1C
1С v8
Действия договора в заданном интервале
,
0 vl_programmer
 
03.07.12
12:55
есть договор со сроком действия (датаНачалаДетсивя и датаОкончанияДетсивя)


нужно отобрать все договора каторые еще деиствовали в любой день из периода
то есть
есть договор с 1 мая по 31 августа

передаем период с 1 апреля по 1 июля договор попал
передаем период с 1 Июля по 31 декабря договор попал
передаем период с 1 сентября по 31 декабря договор НЕ попал
передаем период с 1 января по 5 мая договор попал

Хочется запросом
1 vl_programmer
 
03.07.12
12:56
Ой ошибки орфографические ошибки :(
2 Господин ПЖ
 
03.07.12
12:56
>Хочется запросом

я не против
3 vl_programmer
 
03.07.12
12:58
(2) :) ну я ж помощи жду, а не разрешения :)
4 Cube
 
03.07.12
13:02
(3) Скучно...

ВЫБРАТЬ
   ДоговорыКонтрагентов.Ссылка
ИЗ
   Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ГДЕ
   ДоговорыКонтрагентов.Дата <= &ОкончаниеПериода
   И ДоговорыКонтрагентов.СрокДействия >= &НачалоПериода
5 Pro-tone
 
модератор
03.07.12
13:03
все, пора заводить эл. кошелек как у епрст-а ))

ГДЕ
 Договор.датаНачалаДетсивя МЕЖДУ &дата1 и &дата2
 И Договор.датаОкончанияДетсивя МЕЖДУ &дата1 и &дата2


синтаксис оригинала сохранен
6 Pro-tone
 
модератор
03.07.12
13:04
(4) неправильно, ибо в договоре 2 даты
7 Pro-tone
 
модератор
03.07.12
13:04
у него в (0)
8 Cube
 
03.07.12
13:06
(6) Это у тебя не правильно. Проверка:
Договор действует с 01.01.2012 по 31.12.2012.
В запрос передаем интервал с 01.07.2012 по 31.07.2012.
В твоем запросе будет пусто, а у меня - капуста.
9 vl_programmer
 
03.07.12
13:07
(8) Да все верно говорите
10 Cube
 
03.07.12
13:09
+(8) Только я у себя в запросе ошибочку нашел - там нужно в условии ИЛИ писать:

ВЫБРАТЬ
   ДоговорыКонтрагентов.Ссылка
ИЗ
   Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ГДЕ
   ДоговорыКонтрагентов.Дата <= &ОкончаниеПериода
   ИЛИ ДоговорыКонтрагентов.СрокДействия >= &НачалоПериода
11 vl_programmer
 
03.07.12
13:09
(4) То что надо СПАСИБО!!!
12 Cube
 
03.07.12
13:11
(11) Думаю, не совсем то, что надо... :)
Всяко-разно есть договора, у которых не указана дата окончания... :) Так что сам допилишь))
13 vl_programmer
 
03.07.12
13:12
(12) Не таких нету :)спасибо
14 Pro-tone
 
модератор
03.07.12
13:12
(8) а может наоборот тогда

ДоговорыКонтрагентов.СрокДействия <= &ОкончаниеПериода
   И  ДоговорыКонтрагентов.Дата>= &НачалоПериода


если принять во внимание ДоговорыКонтрагентов.СрокДействия  - это дата окончания действия д-ра
15 Cube
 
03.07.12
13:14
(13) Задача программиста состоит не в том, чтобы писать программы, работающие без ошибок, а в том, чтобы писать программы, работающие при любом количестве ошибок! (c)
16 Cube
 
03.07.12
13:14
(14) Мимо))))