0. Infector 160 19.05.20 11:19 Сейчас в теме

Регистр сведений как дополнение объекта

Подключаем регистры сведений к формам связанных с ними объектов, быстро и надежно.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. VmvLer 19.05.20 17:23 Сейчас в теме
хромой велик.
зачем писать свою посдсистему управления свойствами?

в скомканном изложении идей тщетно пытался найти ответ, чуть не уснул

перл
Исключением будут те редкие случаи, когда в редактировании одного и того же объекта одновременно участвуют несколько пользователей.


Это не редкие случаи, а очень частые и одна из основных фантомных болей разрабов от платформы к платформы.
triera2000; BigB; +2 Ответить
2. ardn 100 19.05.20 17:35 Сейчас в теме
Вы изобрели... дополнительные свойства?
ZLENKO; triera2000; BigB; +3 Ответить
3. Infector 160 19.05.20 17:57 Сейчас в теме
(2)
(1)
Это не есть дополнительные свойства. Мне известно о таковых, но восторга не вызывают никакого. Чаще всего много удобнее вместо "Свойств" в классическом виде (т.е. Объект и Свойство как измерения и Значение как ресурс) иметь регистр с единственным измерением, а вместо второго измерения и его значений - несколько ресурсов. Многое из хранимого в этих доп. регистрах используется в обработках, например для планирования, и в них "свойства" оказываются только лишней морокой. Хотя бы потому что их или придется делать предопределенными и затем морочится описанием 100500 соединений для запроса, или морочиться с хитрыми обходами результата, или заниматься костылями вроде Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ЧтоТоТам"))
Это мнение субъективно и сформировано с колокольни моих задач.

Второй случай - свойствами вообще не описывается. Имеем измерение, соответствующее объекту, который редактируем и N иных измерений (в том числе и более двух в сумме). На форме все это выражается набором записей. Ресурсов и реквизитов мы опять же имеем не один, а множество.


(1)
Это не редкие случаи, а очень частые и одна из основных фантомных болей разрабов от платформы к платформы.

Тут наверное, действительно так. Но в своей практике сталкивался только раз с тем, чтобы несколько человек одновременно пытались править один и тот же документ. Ну и чаще всего подобным фокусом пользуюсь в связках Справочник - Регистр, а там таких проблем не возникает.
4. dhurricane 19.05.20 21:17 Сейчас в теме
Уж простите мое занудство и претензии к деталям, а не к концепции. Но как говорится, "наболело".

1. Не нужно читать только что созданный набор записей перед его очисткой. Это бесполезное действие, напрасно растрачивающие ресурсы СУБД.
НаборЗаписей.Прочитать();
НаборЗаписей.Очистить();

2. Не нужно читать набор данных и перед загрузкой его из таблицы значений. Это также совершенно бесполезное дело.
НаборЗаписей.Прочитать();
НаборЗаписей.Загрузить(ТЗ);
TigerAdmin; triera2000; ardn; BigB; +4 Ответить
7. Infector 160 20.05.20 00:10 Сейчас в теме
(4)Пожалуй соглашусь. Можно и без Прочитать() и без Очистить().
5. Vortigaunt 82 19.05.20 21:22 Сейчас в теме
Я правильно понимаю, что если открыть карточку номенклатуры и поменять в ней только поля, относящиеся к регистру сведений, то модифицированность не включится, событие ПослеЗаписи не сработает. И после "ОК" карточка просто закроется и данные в регистр сведений не запишутся?
Тогда может завести в номенклатуре флажок, который дергать при изменении набора записей или менеджера регистра, размещенных на форме.
Тогда и модифицированность будет, и событие вызовется, и другой пользователь, который тупит над объектом получит при записи сообщение: "данные изменены в другом сеансе" и будет вынужден выйти без сохранения и набивать заново.
TigerAdmin; +1 Ответить
6. Infector 160 19.05.20 23:51 Сейчас в теме
(5)флаг "Модифицированность" действительно не проставляется, но событие "ПослеЗаписиНаСервере" отрабатывает невзирая на него. Возможно, что на более свежих версиях платформы что-то изменили и дело обстоит иначе.
8. PowerBoy 2969 20.05.20 07:34 Сейчас в теме
Если надо добавить доп.реквизиты к справочнику я обычно использую подчиненный справочник, с ним проще работать чем с регистрами сведений, да и интерфейс в формах сам настраивается.
9. Infector 160 20.05.20 08:04 Сейчас в теме
(8)Вот тут могу поспорить о том как все-таки лучше. У доп. справочника, как хранителя доп. реквизитов есть куча скрытых подвохов:
1. На уровне структуры данных он не обеспечивает уникальность записей сам по себе. Если одной записи основного справочника, должна соответствовать одна запись подчиненного появляется реквизит в основном справочнике и перекрестная запись. Или же начинаем городить защиту от дурака.
2. У подчиненного Справочника остаются Стандартные реквизиты, хотя по большому счету они никому не нужны. Можно оставить только код или только наименование, но это все равно остается "прицепом", за которым так или иначе придется следить.

Далее - если имитируется табличная часть. Тут с одной стороны есть вещи, где с подчиненным справочником действительно работать правильнее, т.к. это лучше описывает объект (Если говорить о номенклатуре, то те же Единицы измерения) и используется в учете как дополнительная аналитика.
Но с другой - вещи, где это не требуется. И тут нарываемся на еще один подвох:
3. Объектная модель работы со справочником предполагает запись строк таблицы всегда по одной. В то время как в регистр можно писать через "набор записей" разом.
4. Частенько и "периодичность" оказывается включена и при этом весьма полезна.
5. Один и тот же регистр может подключаться к разным объектам по разным измерениям. Пример - прямо в статье. Код приведен со стороны справочника "Номенклатура", но аналогично делается и со стороны справочника "Основные средства"
13. Vortigaunt 82 20.05.20 22:29 Сейчас в теме
(9)
2. У подчиненного Справочника остаются Стандартные реквизиты, хотя по большому счету они никому не нужны. Можно оставить только код или только наименование, но это все равно остается "прицепом", за которым так или иначе придется следить.

А разве не срабатывает фишка:
Длина наименования = 0
Длина кода = 0
Итого нет ни когда ни наименования?
14. Infector 160 21.05.20 07:42 Сейчас в теме
(13)как ни странно, но такой фокус срабатывает. Тем не менее, никуда не девается дополнительная ссылка, без нее уже справочник справочником не будет, а так же не снимается вопрос с обеспечением уникальности без внесения перекрестной ссылки, хотя на программном уровне он и решаем.
10. milanse 35 20.05.20 12:51 Сейчас в теме
С формами объекта все ок, а как добавлять поля во все отчёты и формы списков, чтобы их через точку дергать, допсвойства это делать позволяют. Хотя, конечно я бы хотел именно описанный функционал группы реквизитов для допилки конфы. Но теперь с учётом расширений никто туда смотреть не станет
11. Infector 160 20.05.20 13:33 Сейчас в теме
(10)У нас оказалось с этим проще - отчеты и формы списков, где таковые доработки использованы нестандартные. Формы а-ля Рабочее место кладовщика технического склада, или менеджера по закупкам технических материалов. А там делается просто, на уровне Левого соединения в запросе.

Еще довелось применить и в полностью нетиповой конфигурации. "Менеджер записи" (т.е. единичная запись регистра) там врят ли когда-то будет востребован, разве что жестким разделением доступа к данным озаботятся, а вот подходящий под описанный принцип "Набор записей" наверное в любой конфигурации можно отыскать. И надо сказать в полностью нетиповых расширения не особо в почете, как минимум надоедает нужные реквизиты из конфы в расширение забрасывать, чтобы они там доступны были.
12. the1 568 20.05.20 22:27 Сейчас в теме
(10) В СКД есть фокус - для поля МойРеквизитИзРегистра пишем в ячейку Путь Номенклатура.МойРеквизитИзРегистра
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Екатеринбург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 150 000 руб.
Полный день

Ведущий программист 1С (УТ 11)
Москва
зарплата до 200 000 руб.
Полный день