Имя: Пароль:
1C
1С v8
ТекущаяСтрока в табличном поле
, ,
0 agrail86
 
16.10.14
12:22
в обработке имеется табличное поле с типом данных - РегистрСведенийСписок - т.е. в реальном времени вижу какие записи сейчас там есть. в этой обработке по кнопке удаляю запись самую первую. и вот незадача - когда все записи удалены - табличное поле пустое, через некоторое время кто то провел документ - снова запись вывелась в табличное поле, но я уже не могу привязаться к текущей строке - самой первой...помогите??? пробовал и обновить элементыформы.табличноеполе1.обновить() - нчиего не выходит - текущаястрока - говорит неопределено, также как и текущиеданные...
1 butterbean
 
16.10.14
12:43
мышкой выдели
2 agrail86
 
16.10.14
12:48
я доступность ложь установил для табл поля1 т.к. мне нужна только первая строчка в табл поле1, чтоб другие тоже не смогли выбрать кроме первой строчку
3 Ёпрст
 
16.10.14
12:53
(0) создай СоздатьКлючЗаписи и используй его в качестве текущей строки.. усё.
4 netsurfer
 
16.10.14
13:30
а ты доступность не трожь, работай со свойством "Только просмотр"
5 agrail86
 
16.10.14
13:49
если я буду работать со свойством "Только просмотр" юзер сможет менять текущую строку выбором мыши
6 butterbean
 
16.10.14
13:50
(5) надо тебе логику работы этой обработки менять
7 netsurfer
 
16.10.14
13:51
(5) бред
8 agrail86
 
17.10.14
06:23
как запретить пользователю выбирать другую строчку в табличном поле, т.е. чтобы всегда была первая строчка текущей?
9 agrail86
 
17.10.14
08:09
сделал так:

Секция1.Отбор["Мешалка"].Установить(Справочники.БетоноМешалки.НайтиПоНаименованию(ВыбранныеЗначения[0]));
        Секция1.Отбор["Статус"].Установить(Ст);
        Отбормешалок = новый Структура;
        Отбормешалок.Вставить("Мешалка", Справочники.БетоноМешалки.НайтиПоНаименованию(ВыбранныеЗначения[0]));
        Отбормешалок.Вставить("Статус", Ст);
        РегСвед = РегистрыСведений.РегистрОчередь;
        КлючЗаписи = РегСвед.СоздатьКлючЗаписи(ОтборМешалок);

затем при активации стркои в методе табл поля установил -
Процедура ТабличноеПоле1ПриАктивизацииСтроки(Элемент)
    ЭлементыФормы.ТабличноеПоле1.ЦветФонаВыделения = WebЦвета.Зеленый;
    //ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока = Секция1.Колонки.Получить(0);
      ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока = КлючЗаписи;
КонецПроцедуры

как сейчас спозиционироваться на 1 запись?
10 butterbean
 
17.10.14
08:41
(9) а какая первая?
11 Smile 8D
 
17.10.14
08:43
В (6) правильно написали, что надо менять логику. Сейчас у вас стоит задача независимо от выбора пользователя удалять "первую" строчку, но при этом вы почему-то ориентируетесь на выбранную строчку, запрещаете ее менять пользователю и думаете как автоматически ее выделять. Быть может проще  удалять первую строчку независимо от выделенной? (запросом ее получать, например).
12 666 Devil
 
17.10.14
08:50
а чем первая строчка отличается от второй и третьей,... а если сортировку поменять?
13 agrail86
 
17.10.14
11:16
(11) прислушался к вашему совету. запросом удаляю первую строку. удаляю затем что миксеры которые пришли на погрузку бетона стоят в очереди. удалю первую запись т.к. эта машина щас на погрузке бетона.