Имя: Пароль:
1C
1С v8
Регистр Сведений
0 servicenn
 
24.04.13
16:51
Добрый день есть регистр сведений: Акции, по каждому товару выполняетя определённая акция, периодичность в пределах дня , соответственно можно получить на нужную дату список товаров и по каким выполнена акция или нет, как сделать в одном запросе чтобы был интервал дат и по каждой дате такой список, но не на отдельную дату

измерения
- Номер товара
- Акция
Ресурс
- выполнено (булево)
1 shuhard
 
24.04.13
16:52
(0)[чтобы был интервал дат и по каждой дате такой список, но не на отдельную дату ]
феерично
2 Ёпрст
 
24.04.13
16:52
в пределах дня ?
Это типа пришел на работу сегодня или нет ?
3 servicenn
 
24.04.13
16:53
Запрос примерно такой

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

УПОРЯДОЧИТЬ ПО
   Период
4 Wobland
 
24.04.13
16:53
какие мысли?
5 ДенисЧ
 
24.04.13
16:53
Выбрать Период, ТОвар, Акция, Выполнено
из РегистрСведений.Акции
Где Период МЕЖДУ &НачДата и &КонДата
Упорядочить по Товар, акция, период
6 Wobland
 
24.04.13
16:54
перечисление.ВидВыполненияАкцииНовый.НеВыполнено
сколько вариантов?
7 servicenn
 
24.04.13
16:55
(6) 2 варианта для простоты сделаем
8 Wobland
 
24.04.13
16:55
(7) и перечисление выкинем на фих
9 sapphire
 
24.04.13
16:56
Задача в (0) слабо коррелирует с запросом в (3)
10 servicenn
 
24.04.13
16:56
(8) дело не в них с ними всё понятно я упростил чтобы на мелочи не обращать внимания не в этом вопрос
11 Ёпрст
 
24.04.13
16:56
Т.е у вас 1 документ в день может быть всего, так ?
12 servicenn
 
24.04.13
16:58
(11) много документов может быть, попробую объяснить суть задачи нужно найти все документы по которым акция не была выполнена , тоесть документ провели а акцию не указали ,забыли .
13 servicenn
 
24.04.13
16:59
например был документ 5 апреля акция была не выполнена  , в документе акцию не поставили провели, потом 10 апреля уже указали соответственно получаем после 10 апреля статус акции выполнено. нужно в отчёте поймать документ за 5 апреля по которому просмотрели акцию
14 Wobland
 
24.04.13
17:00
(12) предлагаю сделать перекур, сформулировать задачу внятно и по-русски и возвращаться. пока что хохма какая-то выходит
15 servicenn
 
24.04.13
17:01
Тоесть делаем отчёт за апрель и получаем список доков в которых забыли указать акцию ( документы делают движение по этому регистру , ставят статус выполнено)
16 servicenn
 
24.04.13
17:01
(14) перекури
17 hhhh
 
24.04.13
17:04
так вы в день только один акт выписываете? А если водитель несколько ходок сделает?
18 servicenn
 
24.04.13
17:06
акция это навроде ремонта, услуга в автосервисе которую надо провести
19 servicenn
 
24.04.13
17:08
Допустим на 25 марта пришёл список автомобилей по которым нужно сделать акцию это отражается в регистре . по этим автомобилям ставится статус невыполнено. Допустим в апреле делают работу и оформляют акт в нём указывают акцию после чего по конкретному автомобилю , на дату выполнения ставится статус выполнено, (ресурс в регистре)
20 servicenn
 
24.04.13
17:10
На определённую дату получаем запросом список документов передаём параметр дату в запрос, за интервал дат сложней
21 sapphire
 
24.04.13
17:14
(18) упрости задачу (грубо), в (3):
есть таблица р/с ВыполнениеГарантийныхАкцийНовый
с полями:
Период
,Автомобиль
,Выполнено

и таблица АктВыполненныхРабот:
Автомобиль

в (0): р/с Акции
измерения
- Номер товара
- Акция
Ресурс
- выполнено (булево)

ИТОГО:
1) в (3) соединение по полю авто наверняка приводит к бредовым данным т.к. авто по гарантии ремонтируют не по одному разу.
2) Нифига не ясно как таблицу акций из (0) прикуртить к таблицам в (3)
22 Очевидно
 
24.04.13
17:19
За какие дни ты хочешь видеть данные ? :
1. На начало каждого дня из диапазона
2. Внутри диапазона , по дням , когда были акции
3. ... ? Своё ?
23 В тылу врага
 
24.04.13
17:20
имхо, нужен регистр накопления остатков
24 sapphire
 
24.04.13
17:22
(20) Напиши свою задачу на бумаге для начала.
Когда тебе станет ясно, что именно ты хочешь получить, вопрос закроется сам собой.
25 servicenn
 
24.04.13
17:23
(21) по акции ремонтируют один раз , после этого акция по данному автомобилю считается выполненной
26 servicenn
 
24.04.13
17:25
(24) как и говорил , за апрель нужно получить список документов в которых акцию забыли указать. Приезжает автомобиль на сто, на него заводят акт , делают разные работы (не акции), а акцию на этот автомобиль забывают сделать
27 hhhh
 
24.04.13
17:27
(26) тогда не надо никаких запросов. Просто в регистре делаешь отбор по "НеВыполнено".
28 servicenn
 
24.04.13
17:31
(27) Ну вобщем с этого начинаю, по каждому невыполнено в регистре указан автомобиль, получаем список авто по которым не выполнено, сужаем его до тех авто которые были в апреле
29 servicenn
 
24.04.13
17:33
но всё это на определённую дату, например до 15 апреля было не выполнено а после 15 выполнено. А 5 был документ в котором забыли указать акцию а 15 не забыли к примеру
30 sapphire
 
24.04.13
17:36
(26) Ты читать умеешь?
НА БУМАГЕ.
Напиши, как в школе учили.
Что дано, что надо получить.
31 Wobland
 
24.04.13
17:50
(30) я тут обратил внимание крайнее время.. люди слово "на бумажке" воспринимают как иносказательность, метафору, иронию, но никак не буквально
32 servicenn
 
25.04.13
08:40
(30) Дружище на бумаге всё давно написано
33 В тылу врага
 
25.04.13
08:43
(31) ты чего военный?
34 servicenn
 
25.04.13
08:46
контрразведка
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший