Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Как привязать движения по регистру сведений к регистратору??? (http://forums.kuban.ru/f1040/kak_privyazat-_dvizheniya_po_registru_svedenij_k_registratoru-2038788.html)

nbab 10.01.2012 15:07

Как привязать движения по регистру сведений к регистратору???
 
Создаю регистр сведений "Месячный лимит", где
измерения: ТочкаПодключения (Спарвочник)
ресурсы: МесячныйЛимит (Число)

Указываю, что регистратором является документ "ЮрДоговор".

В обработке проведения пишу:

Движения.МесячныйЛимит.Записывать = Истина;
Для Каждого ТекСтрокаЛимиты Из Лимиты Цикл
Движение = Движения.МесячныйЛимит.Добавить();
Движение.Период = Дата;
Движение.ТочкаПодключения = ТекСтрокаЛимиты.Площадка;
Движение.МесячныйЛимит = ТекСтрокаЛимиты.Лимит;
КонецЦикла;

При проведении документа всё работает, я согласен. Конкретное движение привязывается к конкретному регистратору.

Но мне нужно устанавливать значение МесячногоЛимита для одной и той же ТочкиПодключения разными регистраторами. Т.е. я хочу реализовать периодический реквизит "МесячныйЛимит" для справочника "ТочкиПодключения".

И вроде бы всё удаётся. Но СрезПоследних даёт мне не одно значение по данной ТочкеПодключения, а несколько, т.к. несколько разных регистраторов. И здесь я тоже согласен, ведь теперь дополнительным ключом уникальности к регистру является сам Регистратор.

Вобщем мне нужно как бы периодичность установить в "Пределах дня" Режим записи сделать: "Независимый, но движения подчинить регистратору, чтобы при проведении они появлялись, а при отмене удалялись. Так как же это сделать?

Или может быть посоветуете как организуется хранение периодических реквизитов в 8.2. (У справочника "ТочкиПодключения" есть реквизит "МесячныйЛимит" тип "Число" - он должен быть периодическим и его значение должно меняться при проведении документа "Договор").

roma n 10.01.2012 15:30

В чём проблема-то?

nbab 10.01.2012 15:46

я после семёрки, мне нужно сделать периодический реквизит, я сделал периодический регистр сведений, привязал его к регистратору - периодичность "В течении дня", Режим записи "Подчинен регистратору". Устанавливаю значения регистра различными документами: например, договор 2010 года устанавливает значение регистра (ну в смысле его ресурс) в 10, а договор 2012 года устанавливает его новое значение. Всё работает. Но если я получаю запросом СрезПоследних, то он выдаёт мне не последнее заначение (от 2012 года), а оба за 2010 и за 2012 год. А мне нужно только последнее. И в принципе правильно, ведь в первом случае регистратором является Договор 1, а во втором Договор 2. А как мне тогда получить из запроса последнее значение вне зависимости от регистратора.

roma n 10.01.2012 16:00

Всё так и есть.
При такой архитектуре - в запросе дополнительная группировка Максимум(Период) и дополнительное соединение
Но гораздо приятнее [u]гарантировать 1документ на период [/u] и периодичность - по периоду регистратора.

Lexusss 10.01.2012 16:54

(3) Чушь. СрезПоследних возращает одну запись с максимальным периодом по набору измерений. Так как у вас измерение единственное (ТочкаПодключения), то и запрос "
ВЫБРАТЬ *
ИЗ РегистрСведений.МесячныйЛимит.СрезПоследних(, ТочкаПодключения = &ТочкаПодключения)
"
вернет единственную строку.

roma n 10.01.2012 17:18

5-Lexusss > В измерения плюсом свой договор воткнул (когда документы, конкурирующие за одну и ту же дату для одной и той же ТочкиПодключения при проведении начали спотыкаться). Только сказать стесняется. Сугубо ИМХО.
ЗЫ как-то мутно я в 4 намекнул...

nbab 10.01.2012 17:52

Прошу прощения, я разобрался.

nbab 10.01.2012 17:53

Lexusss прав!!! Огромное спасибо всем!!!


Текущее время: 14:27. Часовой пояс GMT +3.