Имя: Пароль:
1C
1С v8
УФ. Как сдвинуть курсор в таблице?
0 mikecool
 
05.08.11
10:36
Есть таблица на форме, тип - дин. список
как кнопкой спозиционировать ее на следующей строке?
основная таблица - справочник.номенклатура
вернее - как спозиционировать я знаю, а вот как получить ссылку элемента в следующей строке?
предполагаю, что как то по индексу, но не придумаю как
1 Ksandr
 
05.08.11
10:39
стр. 525-535 в Разработке управляемого интерфейса
2 Ksandr
 
05.08.11
10:39
много буков писать не хочется
3 mikecool
 
05.08.11
10:39
(1) о, спс , щас зачитаю
4 Пришел в тапках
 
05.08.11
10:51
+Code
ТекСтр = ЭлементыФормы.ДинСписок.ТекущиеДанные;
+Code
5 mikecool
 
05.08.11
10:54
(4) и? это я знаю
6 mikecool
 
05.08.11
11:22
что то не въеду - как получить ДанныеФормыКоллекция
из дин списка (
7 Defender aka LINN
 
05.08.11
11:26
(6) А зачем тебе их получать?
(0) Во ВСЕХ версиях восьмерки, начиная с 8.0 установка текущей строки в таб. поле делается АБСОЛЮТНО одинаково.
8 mikecool
 
05.08.11
11:29
(7) это таблица формы с типом Дин. Список в управляемой форме
9 mikecool
 
05.08.11
11:30
ТекущаяСтрока возвращает ссылку из основной таблицы
10 mikecool
 
05.08.11
11:36
вверх
11 mikecool
 
05.08.11
11:45
эх, вот так всегда
12 mikecool
 
05.08.11
11:54
Defender aka LINN , куда пропал?
13 Defender aka LINN
 
05.08.11
12:03
(12) Обедал :)
(9) Ну. И какой можно сделать вывод, учитывая, что ТекущаяСтрока доступна для записи? :)
14 mikecool
 
05.08.11
12:04
(13) приятного аппетита ) хоть и с опозданием
а вот скажи - как понять, какую ссылку передать в ТекущуюСтроку? список то динамический
15 mikecool
 
05.08.11
12:05
с установкой то разберусь, а вот с выбором значения - не получается (
16 Buster007
 
05.08.11
12:09
спозиционировать, получить ссылку следующей строки и вернуть обратно )
17 mikecool
 
05.08.11
12:11
распишу по пунктам
есть таблица формы с дин. списком
есть кнопка на форме, жму на нее - изменяется текущая строка таблицы формы
(16) как?
18 Buster007
 
05.08.11
12:14
(17) ну ты ж написал в (0), что знаешь как спозиционировать...
19 Buster007
 
05.08.11
12:18
(18)
можно как-нибудь так
   Ком = новый COMОбъект("WScript.Shell"); //это можно написать например в ПриОткрытии

   Ком.SendKeys("{down}"); //жмем кнопку Вниз

либо можно попробовать как-нибудь сделать через построительОтчета
20 Buster007
 
05.08.11
12:19
(19) на комментарий //это можно написать например в ПриОткрытии
не надо обращать внимания ) это в УФ работать не будет. Надо будет каждый раз создавать КомОбъект, если не получится хранить его в реквизитах формы с произвольным типом.
21 Defender aka LINN
 
05.08.11
12:21
А, тебе надо следующую строку получить... Забудь лучше :)
22 mikecool
 
05.08.11
13:09
(21) не могу, да 1сы рекомендует кнопками двигать (
раз уж ширше полосу прокрутки сделать нельзя
23 mikecool
 
05.08.11
13:19
убрал основную таблицу из запроса, могу двигать
но немного придется шаманить с выбором из списка
24 mikecool
 
05.08.11
13:29
почему если колонка таблицы невидима, то она отсутствует в текущих данных?
25 mikecool
 
05.08.11
13:35
+24 каким образом тогда иметь доступ к служебным полям?
26 Buster007
 
05.08.11
13:45
в реквизитах формы у колонки поставь галочку ИспользоватьВсегда
27 mikecool
 
05.08.11
13:47
(26) спс
28 mikecool
 
05.08.11
13:51
осталось только посчитать количество строк в датасете ))
дин. список может это значение предоставить?
29 новичекВ1С
 
05.08.11
13:53
(28) неа
30 mikecool
 
05.08.11
14:38
(29) да и фик с ним )))
как установить реквизит открываемой формы с типом ТаблицаЗначений?
ЗначениеВРеквизитФОрмы(ТЗ, "Форма.ТЗ") не канает ))
31 Buster007
 
05.08.11
14:41
(30) что-то непонятное )
32 Buster007
 
05.08.11
14:42
(31) + ааа ) понял )
ЗначениеВДанныеФормы(<Значение>, <Объект>)
33 mikecool
 
05.08.11
14:48
(32) да не, чет не то
есть ТЗ - реквизит формы 1, заполнил его
по событию открываю форму 2 с реквизитом ТЗ
как данные из реквизита ТЗ формы 1 засунуть в реквизит формы ТЗ формы 2?
34 mikecool
 
05.08.11
14:52
не кушает второй параметр "Форма.Реквизит" ((
35 Buster007
 
05.08.11
14:56
В первой форме по событию помести во временное хранилище ТЗ, а во второй получи его оттуда и загрузи просто напросто.
36 mikecool
 
05.08.11
14:58
(35) блин, точно, туплю ))
37 mikecool
 
05.08.11
15:32
добавление двух кнопок заставило переписать функциональность двух форм ))
но - момент оптимизации присутствует
38 NcSteel
 
05.08.11
16:14
Получаем идентификатор текущей строки и прибавляем +1 , +1 , +1 , пока строка текущая <> строке полученной и все .

Все на клиенте
39 Buster007
 
05.08.11
16:16
(37) ))) скоро тебе надоест переписывать функционал, и все будет обходится мелкими доработками и с появлением мысли "а было бы хорошо
40 Buster007
 
05.08.11
16:17
(39) + не дописал ))
" переписать", будет сразу же появляться вторая мысль "пока и так сойдет, а потом переделаю" ))
41 mikecool
 
05.08.11
16:18
(40) это моя первая УФ, так что ее еще переписывать и переписывать )
42 mikecool
 
05.08.11
16:19
+41 в смысле - первая, которую написал, когда только начал изучать )
43 mikecool
 
05.08.11
16:29
все решилось путем отказа от динамического списка и перехода к ТЗ
44 Mort
 
05.08.11
17:01
Как то допиливал подобный механизм для настройки порядка элементов в динамическом списке. В БСП тоже такое есть. один косяк - в режиме "найти" не работает.
45 NcSteel
 
05.08.11
17:01
(43) Зачем?
46 NcSteel
 
05.08.11
17:01
(45) В Дин списке все есть . ПРосто кто то не умеет готовить ее.
47 NcSteel
 
05.08.11
17:02
(44) Работает ! только по другому .
48 mikecool
 
05.08.11
17:06
(46) как спозиционироваться в дин списке на строку по индексу?
при том, что указана основная таблица у списка
49 NcSteel
 
05.08.11
20:27
Пишу по памяти

СтрокаДС = Элементы.ДинСписок.ТекущаяСтрока;
Идентификатор = СтрокаДС.ПолучитьИдентификатор();


Пока Элементы.ДинСписок.ДанныеСтроки(Идентификатор) = СтрокаДС Цикл
Идентификатор = Идентификатор + 1;
КонецЦикла;
Элементы.ДинСписок.ТекущаяСтрока = Элементы.ДинСписок.ДанныеСтроки(Идентификатор);

Примерно так , суть должна быть понятна
50 NcSteel
 
05.08.11
20:27
(49) + Все работает на клиенте без обращения на сервере
51 MikleV
 
05.08.11
20:59
двигатели курсоров..
ыы
52 NcSteel
 
05.08.11
21:03
(51) Двигать курсор важно при разработки дружелюбного интерфейса.
53 MikleV
 
05.08.11
21:09
ога) ну, двигайте
управлять текущими элементами на форме может и важно, а вот бегающий по форме курсор..это ещё под сомнением
54 NcSteel
 
05.08.11
21:12
(53) Когда полтора миллиона абонентов , тогда важно.
55 MikleV
 
05.08.11
21:14
не понял взаимосвязи между 1,5 млн кого то и курсором на форме
56 NcSteel
 
05.08.11
21:37
Прямая , когда необходимо показания счетчика вбить .
57 MikleV
 
05.08.11
23:19
(56)мы говорим о разных вещах
58 mikecool
 
06.08.11
00:46
(49) спс, проверю при оказии
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.