Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 05:08

сохранение изменений данных справочнике в регистре сведений

Автор primus, 25 авг 2011, 11:15

0 Пользователей и 1 гость просматривают эту тему.

primus

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

has

Регистратором может быть документ у регистра сведений, когда Режим записи выбран Подчинение регистратору. А ты укажи режим записи - Независимый. А в справочнике будешь получать последний адрес, ну и записывать новый.

primus

правильно ли я понимаю:
режим записи - независимый, а в обработке записи справочника прописать, чтобы брал регистр и заносил в нужные поля нужную информацию? А как подтянуть дату изменений?
То есть, изменяю я сегодня адрес, но информация о переезде ко мне шла месяц, к примеру. Я же потом при выводе отчетности за месяц накосячу по этому агенту. Или добавить форму изменений с датой актуальности?


has

Толку мало от этой даты, если ты в течение месяца создавал документы и не знали что адрес изменился, тут уже никак не исправишь.
Если в справочнике адрес будет в каком то поле, то при начале выбора проверять новый ли элемент справочника, если да, то записывать его, затем ставить в списке регистра отбор по текущему элементу. При открытии формы справочника получать последнее значение адреса. Событие при записи не трогается в этом случае.

primus

толку мало, но специфика предпрития такова, что мне нужно будет знать изменения реквизитов именно по датам.
Я нашел, как можно выходить на документы из справочника по кнопкам, но это слегка коряво. А вот как кнопкой открыть другую форму этого же справочника. Внутренняя пройедура выдает ошибку, а из интерфейса не отображает.

has

Может я че не понимаю. Смотри, ты оформляешь доки на клиента, тебе известен его адрес. Оформляешь месяц, тут он тебе говорит что у него поменялся адрес месяц назад. Получается во всех документах за месяц указан неверный адрес. Так?
Про кнопки не понял, обьясни подробней.

primus

Кроме адреса у клиента есть еще такие параметры, как ВидСобственостиПомещения, КоличествоЛюдей (в смысле сколько живет в доме, речь про частные дома).
Адрес может измениться по переименованию улиц. У нас сейчас и такое происходит.
Скажем, у человека меняется количество проживающий с ним. Мы должны будем пересчитать сумму денег, которое он нам должен заплатить. Потом он приходит и говорит: почему вы мне начисляете больше или меньше. Если регистр будет хранить изменение количества живущих без дат, то человеку трудно объяснить с какого времени для него оплата изменена, да и сам кассир не будет обладать такой информацией.
То же самое касается и ВидаСобственности.
Поэтому, чтобы не косячить в квитанциях и выдавать в будущем нормальные отчеты, надо записывать и даты внесения изменений.
А про кнопки, у меня есть уже работающая база, но заточенная под другое. Там есть такая фишка. Только про смену фамилии. На форме элемента справочника торчит кнопка, которая выводит произвольную форму этого же справочника, на которой ты вносишь новые данные и нажимая на Ок, меняешь данные регистра. Записать в регистр, думаю, не проблема, а вот вызвать форму на обработке кнопки - косячит, блин.

has

Вобщем тогда в регистр добавь реквизит дата фактического изменения допустим, и при записи в регистр юзер пусть указывает эту дату. По умолчанию сделай ее текущей, если она отличается то указывает. Но тогда надо менять квитанцию и другие объекты, использующие этот регистр.
В чем косяк открытия формы по кнопке? Кстати управляемое приложение?

primus

у справочника Агенты есть две формы:
ФормаЭлемента и ФормаСменаПроживающих. На форме элемента вставил кнопочку, чтобы вызывать форму смены проживающих, добавил команду формы, зацепил кнопку на команду, в модуле команды прописал:
Справочники.Агенты.ФормаСменапроживающих.Открыть()
пишет, что переменная не определена.
Что-то я с этими обработками туплю. В семерке и 8.1 кнопке сразу создавалась функция обработки, в 8.2 чего-то такого не замечаю.

has

Если не управляемые формы. Лучше наверно открыть модально, там же результат какой-то должен возвращаться

ФормаСменаПроживающих = Справочники.Агенты.ПОлучитьФорму("ФормаСменаПроживающих");
ВозвращаемоеЗначение = ФормаСменаПроживающих.ОткрытьМодально();

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск