Имя: Пароль:
1C
1С v8
как обновить табличну часть справочника?
,
0 НикДляЗапросов
 
08.07.12
18:22
Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Мол",Мол);
   Запрос.Текст =
   "ВЫБРАТЬ
   |    МестонахождениеОСБухгалтерскийУчет.ОсновноеСредство
   |ИЗ
   |    РегистрСведений.МестонахождениеОСБухгалтерскийУчет КАК МестонахождениеОСБухгалтерскийУчет
   |ГДЕ
   |    МестонахождениеОСБухгалтерскийУчет.МОЛ = &МОЛ";
   ТЗ = Запрос.Выполнить().Выгрузить();
   
   СЗ = Новый СписокЗначений;
   Сз = Тз.ВыгрузитьКолонку("ОсновноеСредство");
   
   
   СтандартнаяОбработка = Ложь;    
   Счетчик = 1;
   Пока Тз.ВыбратьСтроку() Цикл
       ЭтаФорма.СправочникСписок.Отбор.Ссылка.Значение = Сз[Счетчик];
       Счетчик = Счетчик + 1;
   КонецЦикла;
   ЭтаФорма.СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
   ЭтаФорма.СправочникСписок.Отбор.Ссылка.Использование = Истина;

   ЭтаФорма.СправочникСписок.Отбор.ЭтоГруппа.Установить(Ложь);
   ЭтаФорма.СправочникСписок.Отбор.ЭтоГруппа.Использование = Истина;

   ЭтаФорма.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
   ЭтаФорма.ЭлементыФормы.СправочникСписок.ИзменятьИерархическийПросмотр = Ложь;

   ЭтаФорма.Обновить();
Открывается другая форма
1 aleks-id
 
08.07.12
18:23
какой красивый копрокод
2 НикДляЗапросов
 
08.07.12
18:27
(1) дурак?
3 aleks-id
 
08.07.12
18:29
(2) ты? да.
4 НикДляЗапросов
 
08.07.12
18:30
(3) Оскорбить пытаешься? сходи на курсы по управлению эмоциями
5 aleks-id
 
08.07.12
18:31
(4) мне там делать нечего. а тебе порекомендую курсы по 1с
6 НикДляЗапросов
 
08.07.12
18:32
(5) Сходи, сходи
7 aleks-id
 
08.07.12
18:33
сиди умничай дальше.
8 prosto-nik
 
08.07.12
20:43
(0) СписокЗначений.ВыбратьЭлемент(<Заголовок>, <Элемент>) конечно не предлагать?
9 НикДляЗапросов
 
08.07.12
23:05
(8) нет
10 prosto-nik
 
08.07.12
23:07
а в чем трудность то какая разница из какого списка пользователь будет выбирать, если в нем он увидит только то что ты покажешь?
11 prosto-nik
 
08.07.12
23:09
из (0):

знаешь что произойдет
   Пока Тз.ВыбратьСтроку() Цикл
12 НикДляЗапросов
 
08.07.12
23:10
Это вопрос?
13 prosto-nik
 
08.07.12
23:11
ну да
14 Maniac
 
08.07.12
23:12
Код жесткий. тут ничо не скажешь.
15 НикДляЗапросов
 
08.07.12
23:12
тогда не знаю
16 prosto-nik
 
08.07.12
23:12
СЗ = Новый СписокЗначений;
   Сз = Тз.ВыгрузитьКолонку("ОсновноеСредство");

Синтаксис:

ВыгрузитьКолонку(<Колонка>)

Описание:

Создает массив и копирует в него значения, содержащиеся в колонке таблицы значений.

зачем: СЗ = Новый СписокЗначений; не понятно
17 НикДляЗапросов
 
08.07.12
23:12
(14) ща исправлю
18 prosto-nik
 
08.07.12
23:12
так набери в СП ВыбратьСтроку()
19 Maniac
 
08.07.12
23:12
нереально....Не знаю что такое копрокод, но гомнокод точно.
20 НикДляЗапросов
 
08.07.12
23:13
(16) Мне на это пока все равно
21 НикДляЗапросов
 
08.07.12
23:14
(19) Ладно, рыжий, проходи мимо
22 prosto-nik
 
08.07.12
23:14
(19)копрокод = гомнокод, только по научному)
23 Maniac
 
08.07.12
23:14
ВОобще там выборки никакой не надо, и даже не надо два раза писать куда чего выгружать

Сразу из запроса можно в отбор прописать выгрузку запроса и колонки для массива.
И убрать такое огромное количество обращение к форме.
24 prosto-nik
 
08.07.12
23:17
или

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Мол",Мол);
Запрос.Текст =
"ВЫБРАТЬ
|    МестонахождениеОСБухгалтерскийУчет.ОсновноеСредство
|ИЗ
|    РегистрСведений.МестонахождениеОСБухгалтерскийУчет КАК МестонахождениеОСБухгалтерскийУчет
|ГДЕ
|    МестонахождениеОСБухгалтерскийУчет.МОЛ = &МОЛ";
ТЗ = Запрос.Выполнить().Выгрузить();

СЗ = Новый СписокЗначений;
Сз.ЗагрузитьЗначения(Тз.ВыгрузитьКолонку("ОсновноеСредство"));

СтандартнаяОбработка = Ложь;

ОС = Сз.ВыбратьЭлемент("Выберите ОС");
25 НикДляЗапросов
 
08.07.12
23:18
(23) Угу, только вот отобрать табличную часть по молу
26 НикДляЗапросов
 
08.07.12
23:44
Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Мол",Мол);
   Запрос.Текст =
   "ВЫБРАТЬ
   |    МестонахождениеОСБухгалтерскийУчет.ОсновноеСредство
   |ИЗ
   |    РегистрСведений.МестонахождениеОСБухгалтерскийУчет КАК МестонахождениеОСБухгалтерскийУчет
   |ГДЕ
   |    МестонахождениеОСБухгалтерскийУчет.МОЛ = &МОЛ";
   ТЗ = Запрос.Выполнить().Выгрузить();
   
   СтандартнаяОбработка = Ложь;        
   
   Для Каждого Стр из Тз Цикл
       ЭтаФорма.СправочникСписок.Отбор.Ссылка.Значение = Стр.ОсновноеСредство;
   КонецЦикла;
   
   ЭтаФорма.СправочникСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
   ЭтаФорма.СправочникСписок.Отбор.Ссылка.Использование = Истина;

   ЭтаФорма.СправочникСписок.Отбор.ЭтоГруппа.Установить(Ложь);
   ЭтаФорма.СправочникСписок.Отбор.ЭтоГруппа.Использование = Истина;

   ЭтаФорма.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
   ЭтаФорма.ЭлементыФормы.СправочникСписок.ИзменятьИерархическийПросмотр = Ложь;

Вот так работает, если ктото счетает что можно оптимизировать просьбасообщить
27 prosto-nik
 
08.07.12
23:52
Запрос = Новый Запрос(
"ВЫБРАТЬ
|    Номенклатура.Ссылка КАК Номенклатура
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|    Номенклатура.Услуга = ИСТИНА");
Список.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
Список.Отбор.Ссылка.Значение.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Номенклатура"));
Список.Отбор.Ссылка.Использование = Истина;
28 prosto-nik
 
08.07.12
23:53
Для Каждого Стр из Тз Цикл
       ЭтаФорма.СправочникСписок.Отбор.Ссылка.Значение = Стр.ОсновноеСредство;
   КонецЦикла;

здесь у тебя в цикле будет меняться и останется только последнее ОС
29 НикДляЗапросов
 
09.07.12
00:00
Отлично, а я все никак не мог понять как загрузить список целиком
30 prosto-nik
 
09.07.12
00:05
ну как то так...