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

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

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


В 8.2.какой-то версии добавили определение ТИПА
Код 1C v 8.х
 ГДЕ ТИПЗНАЧЕНИЯ(Регистратор) = ТИП(Документ.ВидДокумента)   
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 196976
 +16 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2) 0
Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей.
Посмотреть все результаты поиска похожих
Комментарии
ovego
21.04.2013 12:57Комментарий: 4
ovego
Вчера мучился тоже с запросом и теперь воспользовался вариантом ab, . Ошибка моя была в том что использовал выражение
Код 1C v 8.2 УП
 ВзаиморасчетыСРаботникамиОрганизаций.Регистратор=ТИПЗНАЧЕНИЯ(ВзаиморасчетыСРаботникамиОрганизаций.Регистратор)   
и при записи поля запрос ругался. Теперь все понятно и здорово!
Спасибо!
Max82
23.04.2012 15:44Комментарий: 3
Max82
По ТИПЗНАЧЕНИЯ можно получить итоги, например посчитать количество документов по видам документов, работающий пример:

Код 1C v 8.х
 ВЫБРАТЬ

Хозрасчетный.Период КАК Период,

Хозрасчетный.Содержание КАК Содержание,

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

Хозрасчетный.Регистратор КАК Регистратор,

Хозрасчетный.СчетДт,

Хозрасчетный.СчетКт,

Хозрасчетный.бит_Проект,

Хозрасчетный.бит_ПроектБУ,

Хозрасчетный.бит_СтатьяОборотов,

Хозрасчетный.Организация

ИЗ

РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный

ГДЕ

Хозрасчетный.Период МЕЖДУ &ДатаНач И &ДатаКон

И Хозрасчетный.Содержание ПОДОБНО &Содержание

И (НЕ Хозрасчетный.Регистратор ССЫЛКА Документ.ОперацияБух)

И (НЕ Хозрасчетный.Содержание ПОДОБНО &НеСодержание)

И Хозрасчетный.Организация = &Организация



УПОРЯДОЧИТЬ ПО

Период УБЫВ,

Регистратор УБЫВ

ИТОГИ

КОЛИЧЕСТВО(Период)

ПО

ОБЩИЕ,

Содержание,

ВидДокумента


Работает в 8.2.

А вообще с видами и типами у 1С косяк жуткий, это даже недоработкой назвать трудно.
ab
27.02.2012 19:34Комментарий: 2
ab
А в 8.2 не помню с какого релиза доступно выражение
Код 1C v 8.2 УП
 "
ТИПЗНАЧЕНИЯ(ВзаиморасчетыСРаботникамиОрганизаций.Регистратор)"

В результате будет выдано строкове описание типа данных регистратора.
Правда Сгруппировать или рассчитать итоги по полученному типу не получится
Zabotich
17.08.2011 19:51Комментарий: 1
Zabotich
Das ist GOOT!!!
Прямо в тему!
С утра долбался с корректировками записей регистров, нет бы дураку сразу сюда поглядеть!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.