Имя: Пароль:
1C
1С v8
отбор движения по регистру по типу регистратора
0 romaku
 
16.08.11
21:52
есть запрос:
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ОсновнойОбороты.Счет,
   |    ОсновнойОбороты.Субконто1,
   |    ОсновнойОбороты.Субконто2,
   |    ОсновнойОбороты.Субконто3,
   |    ОсновнойОбороты.Регистратор,
   |    ОсновнойОбороты.НомерСтроки,
   |    ОсновнойОбороты.СуммаОборот,
   |    ОсновнойОбороты.СуммаОборотДт,
   |    ОсновнойОбороты.СуммаОборотКт,
   |    ОсновнойОбороты.Организация,
   |    ОсновнойОбороты.ВидКапитала,
   |    ОсновнойОбороты.План,
   |    ОсновнойОбороты.КоличествоОборотДт,
   |    ОсновнойОбороты.КоличествоОборотКт,
   |    ОсновнойОбороты.ВалютнаяСуммаОборотДт,
   |    ОсновнойОбороты.ВалютнаяСуммаОборотКт
   |
   |ИЗ
   |    РегистрБухгалтерии.Основной.Обороты(
   |            "+?(ЗначениеЗаполнено(НачПериода),"&НачДата","")+",
   |            "+?(ЗначениеЗаполнено(КонПериода),"&КонДата","")+",
   |            Запись,
   |            Счет = &Счет,
   |            ,
   |            "+?(ЗначениеЗаполнено(ЮрЛицо),"Организация = &Организация","")+ УсловиеПоСубконто +"
   |            ,
   |            ) КАК ОсновнойОбороты";

как выбрать движения только с типом регистратора "Операция". Какой условие нужно добавить в запрос
1 hhhh
 
16.08.11
22:08
Регистратор ССЫЛКА Документ.ОперацияБух
2 romaku
 
16.08.11
22:17
куда это вставить?
3 Dmitrii
 
гуру
16.08.11
22:31
(2) ГДЕ
  ОсновнойОбороты.Регистратор ССЫЛКА Документ.ОперацияБух
4 romaku
 
16.08.11
23:25
спасибо!
5 Alexandr Puzakov
 
17.08.11
05:18
На будущее, писать стоит так:

ТекстЗапроса =
"ВЫБРАТЬ * ИЗ РегистрБухгалтерии.Основной.Обороты(&НачДата, &КонДата, Запись,Счет = &Счет, Организация = &Организация,) КАК ОсновнойОбороты";

Если Не ЗначениеЗаполнено(НачПериода) Тогда
   ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&НачДата", "");
Иначе
   Запрос.УстановитьПараметр("НачДата", НачПериода);
КонецЕсли;
Если Не ЗначениеЗаполнено(КонПериода) Тогда
   ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&КонДата", "");
Иначе
   Запрос.УстановитьПараметр("КонДата", КонПериода);
КонецЕсли;
Если Не ЗначениеЗаполнено(ЮрЛицо) Тогда
   ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Организация = &Организация", "");
Иначе
   Запрос.УстановитьПараметр("Организация", ЮрЛицо);
КонецЕсли;

Запрос.Текст = ТекстЗапроса;

Так запрос будет открываться конструктором. А "кусковой" запрос ужасно сложен для восприятия и редактировать его можно либо приводя в первоначальный вид (а потом все "вставки" назад возвращать), либо чисто вручную править текст запроса.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший