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


Как установить отбор по значениям запроса? После НаборЗаписей.Прочитать(); в набор попадают все движения по регистратору
1 Ненавижу 1С
 
гуру
31.10.11
15:32
а смысл запроса?
сразу в отборы условия и пихайте
2 sanja26
 
31.10.11
15:36
Нет других отборов у регистра накопления
3 ptiz
 
31.10.11
15:39
НаборЗаписей.Загрузить(ТЗРегистр);
НаборЗаписей.Прочитать();

где логика?
4 ptiz
 
31.10.11
15:39
е-мое, потом еще и Очистить()
5 sanja26
 
31.10.11
15:43
Надо удалить одну строчку, а регистратором сделано несколько
6 Михаил Козлов
 
31.10.11
15:51
(5) Читаете набор с отбором по регистратору, удаляете в наборе строку, записываете.
7 sanja26
 
31.10.11
15:56
(6) как удалить в наборе записи строку?
8 Ненавижу 1С
 
гуру
31.10.11
15:57
(7)

РегистрНакопленияНаборЗаписей.<Имя регистра накопления>.Удалить (AccumulationRegisterRecordSet.<Имя регистра накопления>.Delete)
РегистрНакопленияНаборЗаписей.<Имя регистра накопления> (AccumulationRegisterRecordSet.<Имя регистра накопления>)
Удалить (Delete)
Синтаксис:
Удалить(<Запись>)
Параметры:
<Запись> (обязательный)
Тип: Число, РегистрНакопленияЗапись.<Имя регистра накопления>. Индекс удаляемой записи либо сама запись.
Описание:
Удаляет запись из набора по указанному индексу записи или объекту записи регистра накопления.
9 sanja26
 
31.10.11
16:01
Разобрался, спасибо.
Еще вопрос: Присваиваю в коде Движение.регистратор = мой документ, а в регистре остается документ из которого записываются движения
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.