Регистрация Правила Главная форума Поиск |
0
- 10.01.2012 - 15:07
|
Создаю регистр сведений "Месячный лимит", где измерения: ТочкаПодключения (Спарвочник) ресурсы: МесячныйЛимит (Число) Указываю, что регистратором является документ "ЮрДоговор". В обработке проведения пишу: Движения.МесячныйЛимит.Записывать = Истина; Для Каждого ТекСтрокаЛимиты Из Лимиты Цикл Движение = Движения.МесячныйЛимит.Добавить(); Движение.Период = Дата; Движение.ТочкаПодключения = ТекСтрокаЛимиты.Площадка; Движение.МесячныйЛимит = ТекСтрокаЛимиты.Лимит; КонецЦикла; При проведении документа всё работает, я согласен. Конкретное движение привязывается к конкретному регистратору. Но мне нужно устанавливать значение МесячногоЛимита для одной и той же ТочкиПодключения разными регистраторами. Т.е. я хочу реализовать периодический реквизит "МесячныйЛимит" для справочника "ТочкиПодключения". И вроде бы всё удаётся. Но СрезПоследних даёт мне не одно значение по данной ТочкеПодключения, а несколько, т.к. несколько разных регистраторов. И здесь я тоже согласен, ведь теперь дополнительным ключом уникальности к регистру является сам Регистратор. Вобщем мне нужно как бы периодичность установить в "Пределах дня" Режим записи сделать: "Независимый, но движения подчинить регистратору, чтобы при проведении они появлялись, а при отмене удалялись. Так как же это сделать? Или может быть посоветуете как организуется хранение периодических реквизитов в 8.2. (У справочника "ТочкиПодключения" есть реквизит "МесячныйЛимит" тип "Число" - он должен быть периодическим и его значение должно меняться при проведении документа "Договор"). | |
1
- 10.01.2012 - 15:30
| В чём проблема-то? | |
2
- 10.01.2012 - 15:46
| я после семёрки, мне нужно сделать периодический реквизит, я сделал периодический регистр сведений, привязал его к регистратору - периодичность "В течении дня", Режим записи "Подчинен регистратору". Устанавливаю значения регистра различными документами: например, договор 2010 года устанавливает значение регистра (ну в смысле его ресурс) в 10, а договор 2012 года устанавливает его новое значение. Всё работает. Но если я получаю запросом СрезПоследних, то он выдаёт мне не последнее заначение (от 2012 года), а оба за 2010 и за 2012 год. А мне нужно только последнее. И в принципе правильно, ведь в первом случае регистратором является Договор 1, а во втором Договор 2. А как мне тогда получить из запроса последнее значение вне зависимости от регистратора. | |
3
- 10.01.2012 - 16:00
|
Всё так и есть. При такой архитектуре - в запросе дополнительная группировка Максимум(Период) и дополнительное соединение Но гораздо приятнее гарантировать 1документ на период и периодичность - по периоду регистратора. | |
4
- 10.01.2012 - 16:54
|
(3) Чушь. СрезПоследних возращает одну запись с максимальным периодом по набору измерений. Так как у вас измерение единственное (ТочкаПодключения), то и запрос " ВЫБРАТЬ * ИЗ РегистрСведений.МесячныйЛимит.СрезПоследних(, ТочкаПодключения = &ТочкаПодключения) " вернет единственную строку. | |
5
- 10.01.2012 - 17:18
|
5-Lexusss > В измерения плюсом свой договор воткнул (когда документы, конкурирующие за одну и ту же дату для одной и той же ТочкиПодключения при проведении начали спотыкаться). Только сказать стесняется. Сугубо ИМХО. ЗЫ как-то мутно я в 4 намекнул... | |
6
- 10.01.2012 - 17:52
| Прошу прощения, я разобрался. | |
7
- 10.01.2012 - 17:53
| Lexusss прав!!! Огромное спасибо всем!!! | |
| Интернет-форум Краснодарского края и Краснодара |