helpf.pro
Регистрация
 +16 
Распечатать

1С 8.x : Как в запросе получить Вид (тип) Документа?

Столкнулся с задачей, нужно было выбрать все документы по выплате и сгруппировать их по типу документа!
Перелистав все ЖКК и интернет, понял что простого способа получить Вид документа в запросе нет )
Пришлось сделать так:
Код 1C v 8.х
 
Запрос = Новый Запрос;
Запрос.Текст ="
|ВЫБРАТЬ
| ВЫБОР
| КОГДА ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер
| ТОГДА ""Расходный кассовый ордер""
| ИНАЧЕ ВЫБОР
| КОГДА ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеИсходящее
| ТОГДА ""Платежное поручение исходящее""
| ИНАЧЕ ВЫБОР
| КОГДА ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.ДепонированиеОрганизаций
| ТОГДА ""Депонирование""
| ИНАЧЕ ВЫБОР
| КОГДА ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
| ТОГДА ""Приходный кассовый ордер""
| ИНАЧЕ """"
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ
| КОНЕЦ КАК ВидДокумента,
| ВзаиморасчетыСРаботникамиОрганизаций.Регистратор КАК Регистратор,
| ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов
|ИЗ
| РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
|ГДЕ
| ВзаиморасчетыСРаботникамиОрганизаций.Регистратор.Дата МЕЖДУ &ДатаН И &ДатаК
| И ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения = &ВидДвижения
|ИТОГИ
| СУММА(СуммаВзаиморасчетов)
|ПО
| ВидДокумента
|";
Запрос.УстановитьПараметр("ВидДвижения",ВидДвиженияНакопления.Расход);
Запрос.УстановитьПараметр("ДатаК",Дата("28.02.2010 23:59:59"));
Запрос.УстановитьПараметр("ДатаН",Дата("01.02.2010 0:00:00"));
Результат = Запрос.Выполнить();
Результат = Результат.Выбрать();
Пока Результат.Следующий() Цикл
// ... код обработки...
КонецЦикла;


В 8.2.какой-то версии добавили определение ТИПА
Код 1C v 8.х
 ГДЕ ТИПЗНАЧЕНИЯ(Регистратор) = ТИП(Документ.ВидДокумента)   
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 197823
 +16 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2) 0
Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей.
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Cклонения по падежам 6
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = " " ;
Посмотреть все результаты поиска похожих
Комментарии
Maximysis
16.03.2015 12:28Комментарий: 1
Maximysis

А так не проще

ТИПЗНАЧЕНИЯ(ВзаиморасчетыСРаботникамиОрганизаций.Регистратор) КАК ВидДокумента

Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.