- Обработка «Консоль запросов 1с для обычного и управляемого приложения»
- Скачать консоль запросов 1с
- Скачать консоль запросов 1с для обычного приложения 1с 8.2
- Скачать консоль запросов 1с для управляемого приложения 1с 8.3
- Описание принципов работы и основного функционала консоли запросов 1с для обычного приложения 1с 8.2
- Краткое описание функционала консоли запросов 1с для управляемого приложения 1с 8.3
- Запрос в консоли: дерево
Обработка «Консоль запросов 1с для обычного и управляемого приложения»
Консоль запросов 1с — удобный инструмент для построения и отладки запросов в режиме предприятия 1с. С помощью консоли запросов Вы можете выполнять запрос к базе 1с и видеть результат запроса прямо на экране в 1с предприятии. В этой статье мы рассмотрим две консоли одну для 1с 8.2 (обычные формы), а вторая может работать как в обычных так и в управляемых формах 1с 8.3.
Скачать консоль запросов 1с
Для того чтобы начать работу с обработкой Вам для начала необходимо скачать консоль запросов 1с, ниже мы дадим ссылки на скачивание, а пока давайте отметим тот факт, что консоль запросов 1с может быть классифицирована и отнесена к одному из следующих видов:
- Для обычных форм (1с 8.2)
- Для управляемых форм (1с 8.3)
- Смешанный (работает как на 1с 8.2 так и на 1с 8.3)
В нашей статье мы рассмотрим две консоли, первая работает только на 1с 8.2 (обычные формы), а вторая работает на 1с 8.3 (управляемые формы). Они немного отличаются друг от друга, об отличиях мы поговорим дальше, а пока отметим что в управляемых приложениях консоль будет работать должным образом только в режиме запуска «Толстый клиент».
Скачать консоль запросов 1с для обычного приложения 1с 8.2
Ниже представлен скриншот обработки, Вы можете скачать консоль запросов 1с для обычного приложения 1с 8.2
Скачать консоль запросов 1с для управляемого приложения 1с 8.3
А это вторая консоль, ее скриншот вы также можете видеть на экране ниже, по ссылке Вы можете скачать консоль запросов 1с для управляемого приложения 1с 8.3
Описание принципов работы и основного функционала консоли запросов 1с для обычного приложения 1с 8.2
Данная консоль запросов 1с 8.2 для обычного приложения проста в использовании, и не требует от пользователя каких-то особых знаний. На скриншоте Вы можете наблюдать тестовое поле для написания запроса, в нем можно писать запрос как вручную так и с помощью конструктора. Под цифрой 1 на рисунке вы видите кнопку «Параметры», щелкнув на нее мы увидим форму для подстановки параметров в запрос, мы к ней еще вернемся. Под цифрой 2 Вы видите рабочую область и панель действий с самим запросом, тут мы можем добавлять запросы, удалять их, а также сохранять в отдельный файл на диске. Под цифрой номер 3 в консоли запросов 1с 8.2 находится настройка вывода результата, он может выводиться с в виде таблицы либо иерархично в виде дерева, второй вариант используется тогда когда нам нужно увидеть иерархию в результате запроса. Пункт 4 показывает нам есть ли временные таблицы в запросе, если есть то мы их можем отладить и посмотреть результат выполнения который помещается во временную таблицу.
Теперь давайте рассмотрим некоторые отдельные моменты в консоли запросов 1с.
Выше Вы наблюдаете окно в котором подставляются параметры в запрос. Нажав на кнопку «Из запроса» мы получим параметры которые указаны в запросе, теперь нам остается выставить нужные значения и закрыть форму. Кстати если вы редактируете запрос и у вас ранее добавленные параметры на форме уже не используются, то они будут выделяться серым. Если таких параметров много их можно удалить из окна с помощью кнопки «Удалить неиспользуемые».
Если у Вас в запросе есть временные таблицы то Вы можете в отдельных подзапросах их отлаживать и видеть результат выполнения данного подзапроса, если в главном окне консоли запросов 1с мы видим что имеются временные таблицы, то щелкаем на кнопку «Временные таблицы» (пункт 4 на главном окне консоли). После нажатие появится окно которые мы видели выше, в нем показаны все временные таблицы запроса, щелкаем «Отладить» и увидим следующее окно.
Из рисунка выше мы видим что добавился подзапрос к основному запросу, текст запроса представлен в поле для текста запросов, пункт 1. Соответственно результат запроса мы видим в пункте под номером 3.
Краткое описание функционала консоли запросов 1с для управляемого приложения 1с 8.3
Мы с Вами познакомились с основными функциями консоли запросов 1с 8.2 , теперь пришло время рассмотреть консоль запросов 1с 8.3. Данную обработку так подробно как предыдущую мы рассматривать не будем, а вкратце пробежимся по основным параметрам и настройкам.
Источник
Запрос в консоли: дерево
Выгружаю Спр(Номенклатура) из консоли запросов 81; нужны только эл-ты, по которым есть остатки, структуру папок нужно сохранить:
Результат запроса1 — структура такая, какая нужна
ВЫБРАТЬ
СпрНоменклатура.ЭтоГруппа,
СпрНоменклатура.Наименование КАК Наименование,
.
ИЗ
Справочник.Номенклатура КАК СпрНоменклатура
ГДЕ
СпрНоменклатура.ПометкаУдаления = ЛОЖЬ
АВТОУПОРЯДОЧИВАНИЕ
При изменении запроса структура изменяется:
ВЫБРАТЬ
СпрНоменклатура.ЭтоГруппа,
СпрНоменклатура.Наименование КАК Наименование,
СпрНоменклатура.Родитель.Наименование КАК РодительНаименование,
ХозрасчетныйОстатки.СуммаОстаток,
.
ИЗ
Справочник.Номенклатура КАК СпрНоменклатура
внутреннее СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, , &СубконтоНоменклатура, ) КАК ХозрасчетныйОстатки
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура2
ПО ХозрасчетныйОстатки.Субконто1 = СпрНоменклатура2.Ссылка
ПО ХозрасчетныйОстатки.Субконто1 = СпрНоменклатура.Ссылка
ГДЕ
СпрНоменклатура.ПометкаУдаления = ЛОЖЬ
//УПОРЯДОЧИТЬ ПО
// СпрНоменклатура.Родитель,
// СпрНоменклатура.ЭтоГруппа
ИТОГИ ПО
// СпрНоменклатура.Родитель,
// СпрНоменклатура.ЭтоГруппа
//АВТОУПОРЯДОЧИВАНИЕ
Как добавить отбор по наличию остатков с полным сохранением структуры спр-ка?
ВЫБРАТЬ Субконто1 КАК Номенклатура, СуммаОстаток ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, , &СубконтоНоменклатура, )
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ИТОГИ
СУММА(КоличествоОстаток)
ПО
ОБЩИЕ,
Номенклатура ИЕРАРХИЯ
ВЫБРАТЬ
ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
.
СпрНоменклатура.ЭтоГруппа,
СпрНоменклатура.Наименование КАК Наименование,
СпрНоменклатура.Родитель.Наименование КАК РодительНаименование,
ХозрасчетныйОстатки.СуммаОстаток,
ХозрасчетныйОстатки.КоличествоОстаток
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, , &СубконтоНоменклатура, ) КАК ХозрасчетныйОстатки
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
ПО ХозрасчетныйОстатки.Субконто1 = СпрНоменклатура.Ссылка
ГДЕ
СпрНоменклатура.ПометкаУдаления = ЛОЖЬ
ИТОГИ
СУММА(СуммаОстаток),
СУММА(КоличествоОстаток)
ПО
Субконто1 ИЕРАРХИЯ //кроме ЭтоГруппа = «ложь»
А как добавить условие, чтобы итоги по не папкам не выводились?
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ИТОГИ
СУММА(КоличествоОстаток)
ПО
ОБЩИЕ,
Номенклатура ТОЛЬКО ИЕРАРХИЯ
Можно предпоследний вопрос? Если можно: как добавить параметры Склады и Партии в запрос консольки, чтобы после ПолученияПараметровИзЗапроса выбирались соотв-щие виды субконто (вид субконто «Склады» и вид субконто «Партии»)?
ВЫБРАТЬ
ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
ХозрасчетныйОстатки.Субконто2 КАК Склады,
ХозрасчетныйОстатки.Субконто3 КАК Партии,
.
ИЗ
//РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, , &СубконтоНоменклатура, ) КАК ХозрасчетныйОстатки — БЫЛО
//РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, , , Субконто1 = &Номенклатура и Субконто2 = &Склады И Субконто3 = &Партии) КАК ХозрасчетныйОстатки — НЕ ВЕРНО
РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, , &СубконтоНоменклатура, ) КАК ХозрасчетныйОстатки — БЫЛО
В консоли ведь нельзя &СубконтоНоменклатура записать как
мВидыСубконто = новый массив();
мВидыСубконто.добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура);
мВидыСубконто.добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады);
мВидыСубконто.добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Партии);((
ВЫБРАТЬ
ВЫРАЗИТЬ(ТоварыНаСкладахОстатки.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(, <(ВЫРАЗИТЬ(Номенклатура КАК Справочник.Номенклатура)).* КАК Номенклатура>) КАК ТоварыНаСкладахОстатки
ИТОГИ
СУММА(КоличествоОстаток)
ПО
ОБЩИЕ,
Номенклатура ТОЛЬКО ИЕРАРХИЯ
ТоварыНаСкладах не использую, потому что у меня в конф-ции нет такого регистра накопления
а так сейчас посмотрю, о чем Вы сказали, спасибо
А почему при попытке открыть консолькин запрос в конструкторе запросов (хочу еще одно условие добавить) выдается ошибка — не понимает что такое Номенклатура, которая встречается в 1-вый раз в выражении <(ВЫРАЗИТЬ(Номенклатура КАК Справочник.Номенклатура)).* КАК Номенклатура>:
ВЫБРАТЬ
ХозрасчетныйОстатки.Субконто1 КАК Номенкл,
ХозрасчетныйОстатки.Субконто2 КАК Склады,
ХозрасчетныйОстатки.Субконто3 КАК Партии,
ХозрасчетныйОстатки.Счет КАК Счет,
СпрНоменклатура.ЭтоГруппа,
СпрНоменклатура.Код КАК Код,
СпрНоменклатура.НоменклатурныйНомер КАК НоменклатурныйНомер,
СпрНоменклатура.Наименование КАК Наименование,
СпрНоменклатура.НаименованиеПолное,
СпрНоменклатура.БазоваяЕдиницаИзмерения.Наименование КАК БазоваяЕдиницаИзмеренияНаименование,
СпрНоменклатура.НоменклатурнаяГруппа.Наименование КАК НоменклатурнаяГруппаНаименование,
СпрНоменклатура.Родитель.Наименование КАК РодительНаименование,
ХозрасчетныйОстатки.СуммаОстаток,
ХозрасчетныйОстатки.КоличествоОстаток
ИЗ
//РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, , &СубконтоНоменклатура, ) КАК ХозрасчетныйОстатки
РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, , <(ВЫРАЗИТЬ(Номенклатура КАК Справочник.Номенклатура)).* КАК Номенклатура>) КАК ХозрасчетныйОстатки
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
ПО ХозрасчетныйОстатки.Субконто1 = СпрНоменклатура.Ссылка
ГДЕ
СпрНоменклатура.ПометкаУдаления = ЛОЖЬ
ИТОГИ
СУММА(СуммаОстаток),
СУММА(КоличествоОстаток)
ПО
Субконто1 ТОЛЬКО ИЕРАРХИЯ
Вторую строку из (11) мне ведь не обязательно писать (чтоб был псевдоним «Номенклатура»)?
попробовала: тогда «поле не найдено» пишет уже не про «Номенклатура», а про «ХозрасчетныйОстатки.Субконто1» при переходе в конструктор запросов.
Любопытно, что конструктор не читает, а запрос работает.
раскомментировала
//РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, , &СубконтоНоменклатура, ) КАК ХозрасчетныйОстатки
а последний вариант наоборот закомм-вала — для запуска конструктора запроса
Источник