В 8.1 для многих объектов (справочники, регистры сведений и т.п.) можно было настроить способ редактирования записей/элементов: в диалоге/в списке/обоими способами
В 8.2 такого уже похоже нет. :o
Может кто знает, как сделать редактирование регистра сведений списком?
Причем табличную часть документа она значит умеет редактировать строки прямо в таблице, а список элементов справочника уже не умеет. Странно как то.
В голову приходит только один вариант:
1) Написать специальную обработку, где сделать табличную часть с такими же реквизитами как у регистра сведений, настраивать заново все связи реквизитов.
2) сделать команду по заполнению табличной части запросом с параметрами.
3) написать команду по обратному преобразованию табличной части в набор записей регистра и запись в регистр осуществлять программно.
4) Далее везде, где надо выдать таблицу регистра для редактирования (например в форме какого нибудь документа) выводить табличную часть обработки. При этом надо также расставить вызовы команд "ПрочитатьВТабЧасть" и "ЗаписатьВТабЧасть"
Может и сработает, но хочется как нибудь попроще.
P.S. Запуск в режиме тонкого клиента.
В 8.2 такого уже похоже нет. :o
Может кто знает, как сделать редактирование регистра сведений списком?
Причем табличную часть документа она значит умеет редактировать строки прямо в таблице, а список элементов справочника уже не умеет. Странно как то.
В голову приходит только один вариант:
1) Написать специальную обработку, где сделать табличную часть с такими же реквизитами как у регистра сведений, настраивать заново все связи реквизитов.
2) сделать команду по заполнению табличной части запросом с параметрами.
3) написать команду по обратному преобразованию табличной части в набор записей регистра и запись в регистр осуществлять программно.
4) Далее везде, где надо выдать таблицу регистра для редактирования (например в форме какого нибудь документа) выводить табличную часть обработки. При этом надо также расставить вызовы команд "ПрочитатьВТабЧасть" и "ЗаписатьВТабЧасть"
Может и сработает, но хочется как нибудь попроще.
P.S. Запуск в режиме тонкого клиента.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
"Не умеет" - неправильное слово. Скорее "не хочет" из соображений оптимизации производительности.
Цитата из книги М.Г.Радченко "1С-Предприятие 8.2 - коротко о главном"
[IS-QUOTE]В версии 8.2 не поддерживается режим редактирования ссылочных данных информационной базы в списке. Данные можно редактировать только в форме.
При работе в режиме управляемого приложения свойство объекта конфигурации Способ редактирования игнорируется, и данные редактируются всегда в отдельной форме.
Это относится ко всем таблицам, источником данных которых является динамический список.
Если же таблица имеет другой источник данных (табличная часть, дерево значений и т.д.), то ее данные редактируются непосредственно в списке. /QUOTE]
Цитата из книги М.Г.Радченко "1С-Предприятие 8.2 - коротко о главном"
[IS-QUOTE]В версии 8.2 не поддерживается режим редактирования ссылочных данных информационной базы в списке. Данные можно редактировать только в форме.
При работе в режиме управляемого приложения свойство объекта конфигурации Способ редактирования игнорируется, и данные редактируются всегда в отдельной форме.
Это относится ко всем таблицам, источником данных которых является динамический список.
Если же таблица имеет другой источник данных (табличная часть, дерево значений и т.д.), то ее данные редактируются непосредственно в списке. /QUOTE]
Отлично! Гении просто, млин! Интересно еще послушать в чем тут оптимизация, если в лубом динамическом списке тащится столько же данных, как и в любом ТЧ. И даже больше. Сделать возможность редактировать эти данные не такая уж большая нагрузка. А если исходить из того что данные все таки надо редактировать когда то и теперь сравнить между собой трафик и нагрузку двух способов редактирвоания (в списке и через форму), то тогда вопрос: в какую сторону они оптимизировали?
...
Ладно, это лирика.
И все же. Как же тогда лучше реализовать такой механизм (уточним: редактирование записей регистра сведений в списке)? При чем этот механизм планируется вставлять во многие формы по конфе.
...
Ладно, это лирика.
И все же. Как же тогда лучше реализовать такой механизм (уточним: редактирование записей регистра сведений в списке)? При чем этот механизм планируется вставлять во многие формы по конфе.
(3) Проблема в определении момента начала и окончания редактирования. Динамический список отличается от табличной части тем, что его необходимо периодически обновлять с сервера. По идее, входя в режим редактирования ты должен заблокировать запись от возможности изменения другими клиентами. Сервер должен разослать сообщения всем открытым формам.
Но с началом редактирования еще ладно, а как определить, что ты закончил редактирование в списке? Представь, что ты закончил редактирование одного поля и так и остался на этой строке. Оставлять строку заблокированной, пока ты не уйдешь на другую строку или отправлять на сервер сообщение о том, что редактирование закончено и после каждого поля снимать блокировку? И то и другое плохо. С отдельной формой проще. Открыл форму - строка блокирована. Нажал "Записать и закрыть" - записали и сняли блокировку.
А для табличной части все проще - она в одной транзакции закачивается с сервера, редактируется только на стороне клиента и записывается тоже вся целиком.
Но с началом редактирования еще ладно, а как определить, что ты закончил редактирование в списке? Представь, что ты закончил редактирование одного поля и так и остался на этой строке. Оставлять строку заблокированной, пока ты не уйдешь на другую строку или отправлять на сервер сообщение о том, что редактирование закончено и после каждого поля снимать блокировку? И то и другое плохо. С отдельной формой проще. Открыл форму - строка блокирована. Нажал "Записать и закрыть" - записали и сняли блокировку.
А для табличной части все проще - она в одной транзакции закачивается с сервера, редактируется только на стороне клиента и записывается тоже вся целиком.
(3) wbclub,
>>то тогда вопрос: в какую сторону они оптимизировали?
например когда открывается форма - происходит считывание объекта 1 раз и 1 раз записывается.
А когда в списке - при редактировании каждого поля происходит получение объекта и его запись после окончания редактирования
>>то тогда вопрос: в какую сторону они оптимизировали?
например когда открывается форма - происходит считывание объекта 1 раз и 1 раз записывается.
А когда в списке - при редактировании каждого поля происходит получение объекта и его запись после окончания редактирования
В версии 8.2 не поддерживается режим редактирования ссылочных данных информационной базы в списке. Данные можно редактировать только в форме.
При работе в режиме управляемого приложения свойство объекта конфигурации Способ редактирования игнорируется, и данные редактируются всегда в отдельной форме.
Это относится ко всем таблицам, источником данных которых является динамический список.
Если же таблица имеет другой источник данных (табличная часть, дерево значений и т.д.), то ее данные редактируются непосредственно в списке.
При работе в режиме управляемого приложения свойство объекта конфигурации Способ редактирования игнорируется, и данные редактируются всегда в отдельной форме.
Это относится ко всем таблицам, источником данных которых является динамический список.
Если же таблица имеет другой источник данных (табличная часть, дерево значений и т.д.), то ее данные редактируются непосредственно в списке.
В управляемой форме это будет игнорироваться и не получится редактировать в списке без "танцев с бубном". Единственное решение - получать объект по ссылке и записывать в нужный момент.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот