Имя: Пароль:
1C
1С v8
отбор по регистру с составным измерением
0 dfxz
 
22.05.12
11:58
Всем привет, подскажите как сделать отбор по регистру сведений у которого
составной объект данных....


НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
           для каждого стр из ОтборФЛ цикл
             
           НаборЗаписей.Отбор.Объект.Установить(стр.Объект);
           НаборЗаписей.Отбор.объект.Использование = истина;
                       конеццикла;
данный код не может ни прочесть ни удалить запись с нужным отбором....
1 Shurjk
 
22.05.12
12:00
(0) а такая запись точно есть?
2 Buster007
 
22.05.12
12:00
а в данном коде где-то написано, чтобы он прочитал что-то или удалил? да и при методе Установить по-умолчанию Использование = Истина.
3 ssh2006
 
22.05.12
12:02
> данный код не может ни прочесть ни удалить запись с нужным отбором....

Верное наблюдение.
4 Maxus43
 
22.05.12
12:03
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
           для каждого стр из ОтборФЛ цикл
             
           НаборЗаписей.Отбор.Объект.Установить(стр.Объект);
           НаборЗаписей.Прочитать();

                       конеццикла;
5 dfxz
 
22.05.12
12:03
так как решить задачу, то ...
6 sivalor
 
22.05.12
12:04
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
           для каждого стр из ОтборФЛ цикл
             
           НаборЗаписей.Отбор.Объект.Установить(стр.Объект);
           НаборЗаписей.Записать();

                       конеццикла;
7 Buster007
 
22.05.12
12:04
(4) я бы посоветовал вынести метод Прочитать() за цикл...
8 Maxus43
 
22.05.12
12:05
(7) ну и прочитает только по пеоследнему ФЛ в данном коде.
(5) чо не работает? чо хотим?
9 Buster007
 
22.05.12
12:05
+(7) а может и нет... ) логика не ясна )
10 Buster007
 
22.05.12
12:05
(8) да, не правильно я предположил )
11 sivalor
 
22.05.12
12:06
(7) Тогда набор записей заполнится данными по последнему установленому фильтру, т.е. по последнему циклу же.
12 dfxz
 
22.05.12
12:06
(6), (4) не читает, не записывает ... на другом регистре где нет составного типа все работает а здесь нет....
13 dfxz
 
22.05.12
12:07
(8) хотим удалить из регистра данные по условию, в данном случае по конкретным физлицам
14 dfxz
 
22.05.12
12:09
можно как то задать условие отбора по типу значения НаборЗаписей.Отбор.Объект.ТипЗначения ?
15 sivalor
 
22.05.12
12:09
для каждого стр из ОтборФЛ цикл
             
  НаборЗаписей.Отбор.Объект.Установить(стр.Объект);
  НаборЗаписей.Отбор.объект.Использование = истина;

 конеццикла;

Этим кодом устанавливаешь отбор по всем интересующим ФЛ?
16 Maxus43
 
22.05.12
12:09
(13)>(6). там удаление
17 Maxus43
 
22.05.12
12:09
Тип у стр.Объект какой? Может надо стр.Объект.Ссылка?
18 dfxz
 
22.05.12
12:11
(17) СправочникСсылка.ФизическиеЛица
19 Maxus43
 
22.05.12
12:13
(18) всё должно работать в (6), удаление по физ лицам информации. Где-то в другом косяк, в регистре точно запись на ФизЛице висит?
20 dfxz
 
22.05.12
12:14
(19)Да проверял запросом, данные есть..., я таким способом очищаю данные по ним же в регистре ПаспортныеДанныеФизЛиц, там все работает а тут нет...
21 Ayvengo
 
22.05.12
12:15
Запрос = Новый Запрос(
"ВЫБРАТЬ
|    ФизическиеЛица.Ссылка
|ИЗ
|    Справочник.ФизическиеЛица КАК ФизическиеЛица");
Выборка = Запрос.Выполнить().Выбрать();
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
Пока Выборка.Следующий() Цикл
   НаборЗаписей.Отбор.Объект.Установить(Выборка.Ссылка);
   НаборЗаписей.Прочитать();
   НаборЗаписей.Очистить()
   НаборЗапсией.Записать();
КонецЦикла;

Чет такое?
22 dfxz
 
22.05.12
12:16
И чем это отличается от таблицы значений ОтборФЛ где у меня нужные мне физлица ???
23 Maxus43
 
22.05.12
12:17
(21)
  НаборЗаписей.Прочитать();
   НаборЗаписей.Очистить()
лишнее, а так норм)
24 dfxz
 
22.05.12
12:23
короче не пашет что то бум думать....
25 Undefined
 
22.05.12
12:25
отбор должен работать независимо от того составной тип значения измерения или нет
26 Ayvengo
 
22.05.12
12:26
(24) уверен, что есть записи с такими физ. лицами, которые у тебя в таблице? Перепроверь еще разок... потому что должно все работать как тебе люди советуют. Что-то не внимательно делаешь
27 Undefined
 
22.05.12
12:26
обычно регистратором могут быть разные документы, но отбор устанавливается без проблем
28 ssh2006
 
22.05.12
12:26
(24) доработай свой код отладочным комментарием
Сообщить(ТипЗнч(стр.Объект));

Что выведет?
29 Undefined
 
22.05.12
12:28
НаборЗаписей надо сначала прочитать а потом отбор накладывать
30 Buster007
 
22.05.12
12:29
(29) оО
(0) работает, что я делаю не так?
31 Ayvengo
 
22.05.12
12:31
(29) ацтавить :D
32 dfxz
 
22.05.12
16:44
(30)да ни хрена не работает....
33 dfxz
 
22.05.12
16:45
(28) Физические лица
34 dfxz
 
22.05.12
17:08
МЛЯТЬ ТИИ PROFIT
35 Ayvengo
 
22.05.12
18:22
(34) чего? :D