Имя: Пароль:
1C
1C 7.7
v7: Справочник. При открытии списка справочника, текущей должна быть последняя запись.
0 prochor
 
07.10.21
09:06
Добрый день.
Имеется объемный справочник. При окрытии формы списка справочника по умолчанию устанавливается на первую запись справочника. Менеджер хочет, чтобы при открытии устанавливалась последняя запись справочника.
Пробовал сдвигать конструкцией типа
    //переход к концу справочника
    Спр =СоздатьОбъект("Справочник."+Вид());
        Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент() > 0 Цикл
        Тек = Спр.ТекущийЭлемент();
    КонецЦикла;
    НайтиЭлемент(Тек);

ругается на перепозиционирование в "НайтиЭлемент(Тек);".
Может, кто сталкивался?
1 ДенисЧ
 
07.10.21
09:08
Сначала нужно определить понятие "последней записи"...
2 Андрей_Андреич
 
naïve
07.10.21
09:10
Если использовать "ОткрытьПодбор", то там в параметрах есть объек, на котрый надо позиционироваться
3 Bigbro
 
07.10.21
09:10
- используйте обратный порядок
- откажитесь от цикла, нужна только одна запись
4 Василий Алибабаевич
 
07.10.21
09:10
(0)
1. "Последний элемент" само по себе сюр. В списке где может быть сортировка по коду или по наименованию
2. Установка активной строки выполняется при помощи АктивизироватьОбъект
5 Sserj
 
07.10.21
09:11
Отправляй sendkey END после открытия :)
6 prochor
 
07.10.21
09:40
(1) Среди реквизитов "Дата создания", по которой я устанавливаю сортировку.
Но менеджер хочет видеть при открытии именно на последней по дате создания записи, не двигать мышкой по линейке.
(3) - обратный порядок только для СоздатьОбъект
(4) - АктивизироватьОбъект - попробую
(5) - а можно поподробнее про sendkey? как написать команду, если не затруднит?
7 prochor
 
07.10.21
09:45
//переход к концу справочника
    Спр =СоздатьОбъект("Справочник."+Вид());
        Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент() > 0 Цикл
        Тек = Спр.ТекущийЭлемент();
    КонецЦикла;
    АктивизироватьОбъект(Тек);

то, что доктор приписал. Спасибо Василий Алибабаевич.
8 Василий Алибабаевич
 
07.10.21
09:49
(7) Зачем перебор с начала веков? Совет из (3) не зашел?
9 Ёпрст
 
07.10.21
09:51
(7) г..код жешь.
ну так хотя бы

  Спр =СоздатьОбъект("Справочник."+Вид());
  спр.ОбратныйПорядок(1);
  Спр.ВыбратьЭлементы();
  Если Спр.ПолучитьЭлемент() = 1 Тогда
    АктивизироватьОбъект(Спр.ТекущийЭлемент());
  КонецЕсли;
10 Bigbro
 
07.10.21
09:56
пожалуйста)
11 uno-group
 
07.10.21
10:24
Сервис = СоздатьОбъект("Сервис");
Сервис.SendKeys("END");
12 uno-group
 
07.10.21
10:29
Если справочник многоуровневый то 9 будет сбоить. А вообще менеджеру по рукам надавать если зашел с уже заполненного поля то выполняется позиционирование на том, что уже заполненно. Если вдруг случайно строкой ошибся при выборе придется заново искать элемент. а менеджеру нажать 1 клавишу секунда времени.
13 Харлампий Дымба
 
07.10.21
10:44
(9) спр.порядоккодов() ещё добавить... и Спр.ВыбратьЭлементы(0) с отключением иерархии...
14 Злопчинский
 
07.10.21
12:29
все уже было в этом мире..
https://infostart.ru/1c/articles/20774/
15 Злопчинский
 
07.10.21
12:30
у себя я сделал что при открытии позиционируется на тот элемент, на котором форма закрывалась.
16 Sserj
 
07.10.21
12:58
(15) Ты помнится мучался с тем что отладчик семерошный в виндах новых фокус терял.
Так на всякий случай. В понедельник win11 вышла так вот в ней и отладчик без глюков работает и масштабирует 7-ку она на удивление приятно, ну только нужно в совместимости режим масштабирования "Приложение" поставить.
17 Злопчинский
 
07.10.21
13:01
(16) ага, как же... мне проверяла по вин11 сказала хрен тебе а не вынь11, не подходит твой проц (на ноуте у меня): Intel(R) Core(TM) i7-6700HQ CPU
18 Злопчинский
 
07.10.21
13:03
(16) в вынь10 если прибивать в процессах "диспетчер окон рабочего стола" - то тоже все норм по отладке, но он, блин, после прибития снова автостартует, а как отключить - я не нашел...
19 Builder
 
07.10.21
13:04
(18) Вроде известная тема и решение есть давно. Там надо службу отключить одну, вроде как раз "диспетчер окон рабочего стола"
20 Злопчинский
 
07.10.21
13:13
(19) да. только найти ее в службах мне не удается...
21 Builder
 
07.10.21
13:20
(20) попробуй "Запустить программу в режиме совместимости с: Windows 7"
22 Злопчинский
 
07.10.21
13:26
(21) пофиг, артефакты сохраняются
23 uno-group
 
07.10.21
14:20
(17) странно вроде требования вполне вменяемые
Процессор    Не менее двух ядер с тактовой частотой не менее 1 гигагерца (ГГц)
ОЗУ    4 ГБ ОЗУ
Хранилище    Устройство хранения на 64 ГБ или больше
Системная прошивка    UEFI, с поддержкой безопасной загрузки.
TPM    Доверенный платформенный модуль (TPM) версия 2.0.
Видеоадаптер    Совместимый с DirectX 12 или более поздней версии с драйвером WDDM 2.0.
Дисплей    Дисплей высокой четкости (720p) с диагональю более 9 дюймов, 8 бит на цветовой канал.
Интернет-соединение    Для установки Windows 11 домашняя требуется учётная запись Майкрософт и подключение к Интернету.
24 Злопчинский
 
07.10.21
14:32
(23) там если по ссылке пойти - там вполне конкретный перечень процев
25 ДенисЧ
 
07.10.21
14:37
(17) А мне разрешила )))
Только я не буду обновлять...
26 ДенисЧ
 
07.10.21
14:38
(24) У тебя TMP, наверное, нет...
27 Злопчинский
 
07.10.21
17:19
(26) проверка написала что есть, ок.
28 ptiz
 
07.10.21
17:21
(0) Завидую вашим менеджерам - заняться им больше нечем.
29 uno-group
 
08.10.21
08:17
(24) Таки да младше 6 серии курят в сторонке. Как выйдет наверняка кто-то  озадачиться понижением безопасности и появится сборка которая будет работать на старых процах.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс