|
Одновременная работа нескольких пользователей со свернутым регистром сведений | ☑ | ||
---|---|---|---|---|
0
Sarmen
25.07.12
✎
10:37
|
Здравствуйте! Прошу совета!
Ситуация: 1) Есть регистр сведений примерно такого вида: Номенклатура, Характеристика, Заказ 1, Количество: 10 шт. Номенклатура, Характеристика, Заказ 2, Количество: 5 шт. 2) Для пользователя должна выводиться информация в списке в свернутом виде: Номенклатура, Характеристика, 15 шт. И при сканировании (или поиске по штрихкоду) в форме необходимо позиционировать курсор в списке на строку с найденной номенклатурой и характеристикой. 3) Одновременно работают несколько пользователей и меняют записи в первичном регистре сведений. 4) Информация об изменениях регистра должна оперативно отражаться у всех пользователей (напомню: у них она должна отображаться в свёрнутом виде). Задача: Как при одновременной работе нескольких пользователей предоставить им возможность позиционироваться на нужной номенклатуре в свернутом списке (полученном на основании оперативных данных первичного регистра сведений)? Пробовал решить так: На форме - динамический |
|||
1
Sarmen
25.07.12
✎
10:38
|
Пробовал решить так:
На форме - динамический список. В нём обобщённые сгруппированные данные (без основной таблицы). Работает, но не могу спозиционироваться на строке в динамическом списке (может быть отбор, сортировка и т.д.) |
|||
2
Sarmen
25.07.12
✎
10:42
|
Второй вариант - заменить динамический список на таблицу значений и позиционироваться следующим способом:
Элементы.Список1.ТекущаяСтрока = Объект.Список.НайтиСтроки(Новый Структура ("Номенклатура,Характеристика", Номенклатура, Характеристика))[0].ПолучитьИдентификатор(); Но здесь не пойму каким образом отлавливать изменения при работе нескольких пользователей и своевременной перезаполнять таблицу значений? |
|||
3
pumbaEO
25.07.12
✎
10:50
|
(2) обработчик ожидания.
|
|||
4
Sarmen
25.07.12
✎
10:53
|
более нравится первый вариант - вполне сгодится (и относительно корректно работает позиционирование через такой же запрос как и в динамическом списке), но при условии - если запретить сортировку!
Подскажите - как запретить пользователю сортировку динамического списка? Чтобы он не сог щёлкнуть по шапке колонки и отсортировать? |
|||
5
Sarmen
25.07.12
✎
10:54
|
(3) слишком сложно, списки могут быть большие и их внезапное обновление, запоминание текущей строки и т.д. - не совсем мне нравится...
|
|||
6
Sarmen
25.07.12
✎
11:05
|
Может через Представление? Вот вывел вместо "Номенклатура" - Номенклатура.Представление - и всё! Сортировать по этой колонке нельзя! :)
|
|||
7
hhhh
25.07.12
✎
11:33
|
(5) всё равно ведь придется запоминать текущую строку. Независимо от того: нравится это или не нравится.
|
|||
8
Sarmen
25.07.12
✎
11:42
|
а можно программно узнать текущую сортировку в динамическом списке?
|
|||
9
Sarmen
25.07.12
✎
12:05
|
Сделал через Представление. В этом случае сортировать по колонкам нельзя. Пришлось помучиться с числами - потребовалось явное указание типов через Выразить.
Если установлен отбор и текущая строка не соответствует искомой структуре "Номенклатура,Характеристика" - вывожу сообщение про несоответствие отбору. |
|||
10
Sarmen
25.07.12
✎
12:21
|
Зато всё остальное - на уровне платформы и без программных оповещений, очищения и перезаполнения таблицы. При этом отлично работает типовой поиск в списке + удобно искать номенклатуру и характеристику по наименованию.
|
|||
11
Sarmen
25.07.12
✎
15:12
|
Хотя обычным перебором строк списка - практически так же быстро работает. Остановился пока на этом варианте. Обычный запрос по регистру сведений с группировкой (без основной таблицы). Плюсы такого варианта: работает сортировка и отбор, в строке получаем точные ссылки, вместо представления. Плюс встроенная проверка методом ПроверитьСтроку(). Мелочь, а приятно! :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |