![]() |
|
ЗУП3 при записи документа "Табель" сбивается текущая строка сотрудника. Как спозициониро.. | ☑ | ||
---|---|---|---|---|
0
Велимудр
20.11.20
✎
16:42
|
Приветы!
ЗУП 3.1 В документе табель или индивидуальный график при нажатии на кнопку записать происходит сдвиг текущей строки. Т.е. выбрали Пупкина, нажали Записать, курсор таблицы сместился с Пупкина на Залупкина. Не смещается только первая строка, т.к. индекс 0. Вроде бы хрен с ним, но по ТЗ нам надо отображать дополнительные дынные по сотруднику. Данные отображаются при выборе строки сотрудника. Табельщик жалуется, что при записи активная строка меняется и: 1. Курсор сбивается на другую строку и где искать предыдущую непонятно 2. Дополнительные данные показывают неверные данные, что снова вводит в заблуждение. Смещение происходит из-за того, что в табеле присутствуют пустые строки т.к. у сотрудника заполнена только одна строка, а отображаются две или больше. При нажатии на кнопку "записать" пустые строки удаляются, документ записывается, и потом обратно добавляются пустые строки, но их идентификаторы в объекте уже не соответствуют идентификаторам на форме. Сделал так: перед записью запоминаю сотрудника. а после записи пытаюсь найти этого сотрудника снова, но т.к. поиск идет не по элементам формы, а по строкам объекта, то идентификаторы строк не соответствуют идентификаторам на форме. Как найти нужного сотрудника в элементе ТаблицаФормы? Перебора по строкам у нее нет |
|||
1
vicof
20.11.20
✎
18:33
|
А зачем пустые строки в табеле?
|
|||
2
Велимудр
20.11.20
✎
20:06
|
Вдруг кто будет искать, вот так работает:
&НаКлиенте Процедура ПослеЗаписи(ПараметрыЗаписи) ............. ПодключитьОбработчикОжидания("УстановитьТекущуюСтрокуДанныеВремени", 0.1, Истина); КонецПроцедуры &НаКлиенте Процедура УстановитьТекущуюСтрокуДанныеВремени() Экспорт СтруктураОтбора = Новый Структура("Сотрудник, ПустаяСтрока", ТекСотрудник, Ложь); Элементы.ДанныеОВремени.ОтборСтрок = Новый ФиксированнаяСтруктура(СтруктураОтбора); ТекИдентификатор = Элементы.ДанныеОВремени.ТекущиеДанные.ПолучитьИдентификатор(); Элементы.ДанныеОВремени.ОтборСтрок = Неопределено; Элементы.ДанныеОВремени.ТекущаяСтрока = ТекИдентификатор; ОтключитьОбработчикОжидания("УстановитьТекущуюСтрокуДанныеВремени"); КонецПроцедуры |
|||
3
Велимудр
20.11.20
✎
20:06
|
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи) .................... ПодключитьОбработчикОжидания("УстановитьТекущуюСтрокуДанныеВремени", 0.1, Истина); КонецПроцедуры &НаКлиенте Процедура УстановитьТекущуюСтрокуДанныеВремени() Экспорт СтруктураОтбора = Новый Структура("Сотрудник, ПустаяСтрока", ТекСотрудник, Ложь); Элементы.ДанныеОВремени.ОтборСтрок = Новый ФиксированнаяСтруктура(СтруктураОтбора); ТекИдентификатор = Элементы.ДанныеОВремени.ТекущиеДанные.ПолучитьИдентификатор(); Элементы.ДанныеОВремени.ОтборСтрок = Неопределено; Элементы.ДанныеОВремени.ТекущаяСтрока = ТекИдентификатор; ОтключитьОбработчикОжидания("УстановитьТекущуюСтрокуДанныеВремени"); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |