Имя: Пароль:
1C
1С v8
Не тривиальное использование регистра сведений.
0 JastAMan
 
04.07.16
10:13
В при печати одного документа, на печатную форму должен выводиться состав некой комиссии.
Комиссии хранятся в регистре сведений.
Все бы ничего, но эти люди желают вводить комиссии следующим образом:
Комиссия 1:  01 янв 16г по 31 дек 16
комиссия 2:  3 марта 16 г по 02 апр 16г.
Т.е. периоды пересекаются.

У меня головняк с правильным отображением комиссий. Не всегда получается выловить нужный состав комиссии. Тестировщик постоянно находит вариант, когда состав комиссия отображается не правильно.

Вопрос к бывалым 1С-никам: это нормально - так использовать регистр сведений?
1 Господин ПЖ
 
04.07.16
10:15
>но эти люди желают вводить комиссии следующим образом

обойдутся
2 JastAMan
 
04.07.16
10:17
(1) Т.е. то, что они хотят - не есть правильно?
3 Fish
 
гуру
04.07.16
10:18
(2) Так добавь в регистр измерение Комиссия. И всех делов.
4 YFedor
 
04.07.16
10:19
(0) 3 записи в периодическом регистре сведений:

01 янв 16г
3 марта 16 г
02 апр 16г.
5 Irbis
 
04.07.16
10:20
(0) состав комиссии есть срез твоего регистра. Кури срез на каждую дату и разбивай пересекающиеся периоды.
6 4St
 
04.07.16
10:20
(2) Похожим образом задаются периоды отпусков и действия начислений в типовой ЗУП. Только там, кажется, пересечение все-таки контролируется. Посмотри структуру соответствующих регистров и связанный код.
По сабжу - нарисуй заказчику эту таблицу и предложи выбрать правильный вариант комиссии. Либо родится алгоритм, либо заказчик поймет, что просит фигню, и родится другой алгоритм.
7 Анцеранана
 
04.07.16
10:22
(0) А я вот не понял нифига. Что там в регистре сейчас? Даты что ли? Какое условие задачи? Выбрать все актуальную комиссии на определенную дату?
8 sash-ml
 
04.07.16
10:23
(3) в типовом регистре есть такое измерение.
сам регистр нужен только чтобы в документ проставить контентных членов комиссии.
(0) что мешает добавить в документ членов второй комиссии?
9 Михаил 1С
 
04.07.16
10:24
(0) Надо полностью описать задачу. Так она не понятна. Ну или я не смог тебя понять.

На первый взгляд все просто:

Период - это будет дата начала периода

И заведи два Ресурса:
1) Комиссия - величина комиссии (наверное в процентах?)
2) ДатаКон - конец периода

...

А какое измерение тебе нужно? - даже не знаю.
10 JastAMan
 
04.07.16
10:29
(9) регистр:  Период, регистратор, Физ-лицо, ДатаОкончания.
В печатную форму нужно вывести актуальный, на дату документа состав, т.е. физ.лиц из регистра.

Проблема в том, что как не строю запросы, всегда забегаю то за ДатаОкончания в регистре, то "не дохожу" до Период того-же регистра.
11 vyaz
 
04.07.16
10:31
может ДатаДок между Период и ДатаОкончания?
12 YFedor
 
04.07.16
10:32
(10) Лучше так:

* Период
* НомерЧленаКомиссии - либо число, либо справочники - не важно (разное их количество будет количеством членов комисии
* ФизЛицо - ресурс

Никаких дат окончания, будет, как я писал в (4)
13 arsik
 
гуру
04.07.16
10:33
(10) Убрать к черту измерение ДатаОкончания. И всего дело
14 Господин ПЖ
 
04.07.16
10:34
запердолить плоскую таблицу - на весь год всего-то 365 записей... в каждый день знаешь какая комиссия и что...

а все эти хитрож.пые структуры ведут к хитрож.пым запросам, которые ведут к хитрож.пым ошибкам
15 JastAMan
 
04.07.16
10:35
Если повозиться, то можно прийти к нужному результату.
Вопрос заключался в том, что ПРАВИЛЬНО-ЛИ так использовать регистр сведений? И буду ли я прав если настою на том, что бы исключить пересекающиеся периоды?
16 Михаил 1С
 
04.07.16
10:36
(13) Тогда ты дай еще автору алгоритм записи в твой регистр. А то ты решил одну проблемму, но не рассказал о второй
17 YFedor
 
04.07.16
10:36
(15) Ничего принципиально неправильного нет в твоем регистре, только он неудобен в использовании
18 Господин ПЖ
 
04.07.16
10:37
>Вопрос заключался в том, что ПРАВИЛЬНО-ЛИ так использовать регистр сведений?

а вариантов то других нет...

для таких задач в теории должны подходить регистры расчетов но их за пределами расчета з/п никто не применяет
19 Михаил 1С
 
04.07.16
10:39
(15) "буду ли я прав если настою на том, что бы исключить пересекающиеся периоды?"

Тут главное - есть ли правило выбора периода, если данная точка входит сразу в два периода? А если сразу в три?

1) с 1 января по 1 июля
2) с 1 февраля по 1 мая
3) с 1 марта по 1 декабря

куда определим точку 1 апреля?

ПС: И нужно правило - как сильно могут пересекаться периоды?
20 Михаил 1С
 
04.07.16
10:42
(19) Если эти правила разумны, то не надо настаивать на том, чтобы исключить пересекающиеся периоды.
21 itlikbez
 
04.07.16
10:43
(15) Настаивай на исключении восхода солнца. Не мелочись.
22 JastAMan
 
04.07.16
10:46
(21) Мне же нужно совета, а не конца света :)
(20) Правила есть. Пошел ломать голову дальше.
Благодарю за то, что откликнулись.
23 arsik
 
гуру
04.07.16
10:46
Как вариант можно сделать на регистре остатков. Там можно замутить периоды при проведении.
24 ovrfox
 
04.07.16
11:11
Огласи правила для примера в (19), тогда тебе смогут помочь.
Пока правила не известны, то запрос написать никто не сможет (разве что экстрасенс)
25 polosov
 
04.07.16
11:16
(0)А регистр расчета чем не нравится?
26 ovrfox
 
04.07.16
11:20
А пока я предположу, что видимо пересакаться могут периоды участия определенной фамилии в Комиссии. Тогда все просто - при записи члена комиссии в регистр делай запись по фамилии на начало периода с фамилией и ресурсом окончание периода. При этом если какой-то новый период полностью включается в старый - отказывайся записывать такие данные. Тогда срез последних тебе всегда даст членов комисии (но после выборки нужно будет проверить, не окончился ли период членства по ресурсу окончание периода членства)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn