Имя: Пароль:
1C
1С v8
поиск в регистре сведений
,
0 Эльчин
 
09.10.13
15:41
1)Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ
    |    Сообщения.Отправитель,
    |    Сообщения.Получатель,
    |    Сообщения.Сообщение,
    |    Сообщения.Дата КАК Дата,
    |    Сообщения.Прочитан
    |ИЗ
    |    РегистрСведений.Сообщения КАК Сообщения
    |ГДЕ
    |    Сообщения.Получатель = &Получатель
    |    И Сообщения.Отправитель = &Отправитель
    |
    |УПОРЯДОЧИТЬ ПО
    |    Дата";                                          
Запрос.УстановитьПараметр("Отправитель", ОтправительСсылка);
Запрос.УстановитьПараметр("Получатель", ПолучательСсылка);

    
2)выборка = РегистрыСведений.Сообщения.СоздатьМенеджерЗаписи();
выборка.Получатель = ПолучательСсылка;
выборка.Отправитель = ОтправительСсылка;
выборка.прочитать();
если выборка.выбран() тогда
    выборка.Прочитан = Истина;
    выборка.Записать();
конецесли;

почему в 1 варианте есть результат, а 2 варианте нет?
1 1Сергей
 
09.10.13
15:44
В регистре всего два измерения?
2 Лефмихалыч
 
09.10.13
15:44
а какой результат ты ожидаешь от варианта 2?
3 Эльчин
 
09.10.13
15:45
(2) в условию не поподает. не выбирает тот запис регистра который запрос выбирает
4 Лефмихалыч
 
09.10.13
15:46
(3) видимо есть еще какие-то измерения
5 Эльчин
 
09.10.13
15:46
выборка.выбран() равно Ложь...
почему?
6 1Сергей
 
09.10.13
15:47
(5) потому, что Гладилоус
7 Эльчин
 
09.10.13
15:47
(4) всех нужно написать?
8 Лефмихалыч
 
09.10.13
15:48
(7) если нужен именно менеджер записи, то да - всех
9 Лефмихалыч
 
09.10.13
15:49
(5) потому, что нет такой записи, в которой измерения Отправитель и Получатель заполнены, а остальные не заполнены
10 Эльчин
 
09.10.13
15:49
у регистра есть 5 измерения. но мне нужен выбрать запис регистра по 2 измерения. как этого делать?
11 Эльчин
 
09.10.13
15:51
(9) остальные мне не интересно. я знаю только 2 параметры
12 Эльчин
 
09.10.13
15:51
как делать?
13 1Сергей
 
09.10.13
15:51
(10) запросом
14 viktor_vv
 
09.10.13
15:51
(10) Вариант 1 или НаборЗаписей().
15 Starhan
 
09.10.13
15:51
(10)используй набор записей и отбор
16 Эльчин
 
09.10.13
15:54
(13) ранше сделал запросом. потом не могу изменить этого записи
17 Эльчин
 
09.10.13
15:55
(15) прошу прошение. можеш дать ссылку как пример?
18 Starhan
 
09.10.13
16:02
(17)
выборка = РегистрыСведений.Сообщения.СоздатьНаборЗапис
ей();
выборка.Отбор.Получатель.Установить(ПолучательСсылка);
выборка.Отбор.Отправитель.Установить(ОтправительСсылка);
выборка.прочитать();
если выборка.выбран() тогда
    выборка.Прочитан = Истина;
    выборка.Записать();
конецесли;

как то так
19 Эльчин
 
09.10.13
16:05
(18) спасибо бальшое. попробую