Разработка и оптимизация запросов в 1С:Предприятие 8.3. Модуль 7. Использование виртуальных таблиц в запросе
На данной странице задавайте вопросы по материалам и практическим заданиям седьмого модуля курса «Разработка и оптимизация запросов в 1С:Предприятие 8.3».
Практические задания
К сожалению, у Вас недостаточно прав для дальнейшего просмотра.
Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.
Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.
Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.
Комментарии / обсуждение (488):
Комментарии закрыты
Добрый вечер. Простите, если не по теме… В уроке “Структура регистра сведений” говориться об “Общих реквизитах”: “Общий реквизит – поле, содержащее значения общего реквизита. Имя поля задается в конфигураторе. Такие поля создаются для общих реквизитов, не являющихся разделителями, или для разделителей с режимом использования разделяемых данных НезависимоИСовместно, в которых участвует данный регистр”. Разделители? О чем это? “Режим использования разделяемых данных” – что за зверь?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день!
Практическое задание №22. Особенности
получения среза последних
В решении вы предлагаете следующий текст запроса:
/////////////////////////////////////
КадроваяИсторияСрезПоследних.Период КАК Период,
КадроваяИсторияСрезПоследних.Сотрудник КАК Сотрудник,
КадроваяИсторияСрезПоследних.Должность КАК Должность
ИЗ
РегистрСведений.КадроваяИстория.СрезПоследних КАК КадроваяИсторияСрезПоследних
ГДЕ
КадроваяИсторияСрезПоследних.Должность.Наименование ПОДОБНО "%руководитель%"
/////////////////////////////////////
При этом данны текст преобразуется в СУБД в следующий:
/////////////////////////////////////
T1.Period_,
T1.Fld94RRef,
T1.Fld95RRef
FROM (SELECT
T4.Период AS Period_,
T4.Сотрудник AS Fld94RRef,
T4.Должность AS Fld95RRef
FROM (SELECT
T3.Сотрудник AS Fld94RRef,
MAX(T3.Период) AS MAXPERIOD_
FROM РегистрСведений.КадроваяИстория T3
GROUP BY T3.Сотрудник) T2
INNER JOIN РегистрСведений.КадроваяИстория T4
ON T2.Fld94RRef = T4.Сотрудник AND T2.MAXPERIOD_ = T4.Период) T1
LEFT OUTER JOIN Справочник.Должности T5
ON T1.Fld95RRef = T5.Ссылка
WHERE (T5.Наименование LIKE '%руководитель%')",NParams=0,planSQLText='Fields:(
T1.Period_,
T1.Fld94RRef,
T1.Fld95RRef
)
NESTED SELECT FULL SCAN
(
Fields:(
T4.Период,
T4.Сотрудник,
T4.Должность
)
NESTED SELECT FULL SCAN
(
Fields:(
T3.Сотрудник,
MAX(T3.Период)
)
_INFORG93 (T3)(TWICE) FULL SCAN
GROUPING
)
NESTED LOOP
_INFORG93 (T4)(TWICE) RANGE SCAN USING INDEX (_INFORG93_BYPERIOD) (2 fields)
WHERE
(T2.Fld94RRef = T4.Сотрудник)
AND
(T2.MAXPERIOD_ = T4.Период)
)
NESTED LOOP
_REFERENCE20 (T5) RANGE SCAN USING INDEX (_IDRREFIDX) (1 fields)
WHERE
T5.Наименование LIKE %руководитель%
AND
(T1.Fld95RRef = T5.Ссылка)
Statistics: RecordsScanned = 28, ParseTime = 0, ExecuteTime = 0, BuffersMemory = 25847, ResultRecords = 2, RecordSize = 5
/////////////////////////////////////
Я в своем решении использовал временную таблицу, в которую отобрал все требуемые должности а затем соединил со срезом, в результате получаем следующий текст на СУБД:
/////////////////////////////////////
T1.Ссылка AS _Q_001_F_000RRef INTO #T8830a1733ba9492985f18bf3874a7b78
FROM Справочник.Должности T1
WHERE (T1.Наименование LIKE '%руководитель%')",NParams=0,planSQLText='Fields:(
T1.Ссылка
)
_REFERENCE20 (T1) FULL SCAN
WHERE
T1.Наименование LIKE %руководитель%
Statistics: RecordsScanned = 8, ParseTime = 0, ExecuteTime = 0, BuffersMemory = 28212, ResultRecords = 3, RecordSize = 1
SELECT
T1.Period_,
T1.Fld94RRef,
T1.Fld95RRef
FROM (SELECT
T4.Период AS Period_,
T4.Сотрудник AS Fld94RRef,
T4.Должность AS Fld95RRef
FROM (SELECT
T3.Сотрудник AS Fld94RRef,
MAX(T3.Период) AS MAXPERIOD_
FROM РегистрСведений.КадроваяИстория T3
GROUP BY T3.Сотрудник) T2
INNER JOIN РегистрСведений.КадроваяИстория T4
ON T2.Fld94RRef = T4.Сотрудник AND T2.MAXPERIOD_ = T4.Период) T1
INNER JOIN #T8830a1733ba9492985f18bf3874a7b78 T5
ON (T5._Q_001_F_000RRef = T1.Fld95RRef
/////////////////////////////////////
Данное решение не содержит вложенных запросов, я правильно понимаю, что такое решение является более оптимальным?!
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день, пыталась реализовать пример из видео 7-3-3. В Консоли запросов на закладке параметры для &Субк выбрала из видов субконто хозрасчетные Номенклатуру. Результат неожиданные: {(1,1)}: Переменная не определена (Номенклатура)
<>Номенклатура
Что это и что с этим делать, подскажите, пожалуйста.
Пыталась тоже самое реализовать обработкой (прикрепила обработку), но она почему-то вообще не открывается и нет каких-либо сообщений. Почему?
Обработка “Остатки по субконто”
…
(текст комментария доступен только участникам Мастер-группы)
Будьте добры, ответьте, пожалуйста на первый вопрос в этой ветки. По всей видимости, некорректно было продолжать свой вопрос, нажав на нём “ответить”.
…
(текст комментария доступен только участникам Мастер-группы)
Извините, но вижу ответ на вопрос касательно решения в обработке, а ответа касательно такого же решения в консоли запросов не вижу, хотя перегрузила страницу. Продублируйте, пожалуйста.
…
(текст комментария доступен только участникам Мастер-группы)
Да, сработало, спасибо.
…
(текст комментария доступен только участникам Мастер-группы)
…
(текст комментария доступен только участникам Мастер-группы)
Query-7-3-AccumRg-5. Для получения бух оборотов за период преподаватель указывает для начала периода и конца одну и ту же дату. Результат – обороты за секунду. Получается, что программа видит начальную дату на начало секунды, а конечную дату на конец секунды?
…
(текст комментария доступен только участникам Мастер-группы)
Query-7-3-AccumRg-3.
1. Хочу из формы обработки передать в модуль формы значение субконто, по которому надо получить остатки по счетам. Но в типе реквизита формы не нахожу ничего, связанного с субконто. Подскажите, пожалуйста, как это сделать?
2. Когда добавляется в выходное поле субконто2, то в параметр Субконто что мы должны были написать? Как записывается массив с видами субконто в этом случае?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день! Вопрос немного в другом. В форме обработки хочу указывать, чтобы передать в форму, не одно субконто, а два – склад и номенклатура. Если для указания 1 субконто – номенклатура в типе указываем СправочникСсылка.Номенклатура, то для указания сразу двух субконто надо выбрать СписокЗначений? Если да, то как программа поймёт что это СправочникСсылка.Номенклатура и СправочникСсылка.Склады?
Если в модуле описать Массив = Новый Массив и добавить в него пустые ссылки СправочникМенеджер.Номенклатура.ПустаяСсылка и СправочникМенеджер.Склады.ПустаяСсылка, то тогда скорее всего, программе не понравится несоответствие типов.
Как правильно описать параметр Субконто на форме обработки, если это не одно субконто, а перечень субконто? И какое описание этого перечня должно быть в модуле формы?
…
(текст комментария доступен только участникам Мастер-группы)
Query-7-3-AccumRg-1.
1. Если в параметре Условие виртуальной таблицы ХозрасчетныйДвиженияССубконто необходимо указать несколько условий, то они перечисляются в поле Условие через ; или как-то по-другому?
2. Напишите, пожалуйста, пример заполнения параметра Упорядочивание.
3. Не понятно, для чего используют параметр Первые. Приведите, пожалуйста, пример когда он нужен.
…
(текст комментария доступен только участникам Мастер-группы)
Задание 27.
Результат объединения запроса по товарам и запроса по услугам не клала во временную таблицу, остановилась на объединении и получила тот же результат, что и преподавателя. В чём ошибка? Почему получила тот же результат?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день!
Задание 26.
1. В результате получила период в виде 01.01.2014 0:00:00. Хотела убрать секунды. К периоду применила функцию МЕСЯЦ, ожидаемо получила цифры 1,2,3 и т.д. Но когда вместо функции МЕСЯЦ применила функцию ДЕНЬ, неожиданно помесячный разворот свернулся в 1 колонку. Функция ДЕНЬ что, возвращает только номер дня месяца и поэтому 1-е число разных месяцев понимается, как один день?
2. Как убрать секунды из периода?
3. Конструктор создал строки: ТабДок.НачатьАвтогруппировкуСтрок(), ТабДок.ЗакончитьАвтогруппировкуСтрок();. Закомментировала, ничего не изменилось. Для чего этот оператор, как он влияет на результат?
4. На закладке Итоги для Периода «Дополнение периодами» указывала ДЕКАДА. В результате появились новые колонки, соответствующие декадам, но они пустые. Продажи заполнены в течение всего месяца, но в таблице заполняются только 1-е колонки в месяце. Колонки не заполнились равномерно потому, что для таблицы ПродажиОбороты в параметре Периодичность указано Месяц?
5. В одном варианте решения использовала «Дополнение периодами» – МЕСЯЦ, в другом ничего не указывала, а результат одинаковый. Зачем нужно использовать «Дополнение периодами» – МЕСЯЦ?
…
(текст комментария доступен только участникам Мастер-группы)
1. По поводу отображения даты без секунд. В задании 26 мы строим кросс-таблицу, функцию Формат не нашла как в этом случае применить.
2. По поводу ТабДок.НачатьАвтогруппировкуСтрок(), ТабДок.ЗакончитьАвтогруппировкуСтрок(). Дело как раз в том, что группировка в отчёте не появляется, в этом-то и вопрос. После Вашего пояснения предполагаю, что это из-за того, что в методе Вывести не указан уровень.
3. По поводу итогов для Периода с «Дополнение периодами» ДЕКАДА.
Архив прикрепила. Обработка называется Задание26. Скриншот результата прилагаю.
&НаСервереБезКонтекста
Процедура КроссТабПродажиПоМесяцамНаСервере(ТабДок)
Макет = Обработки.Задание26.ПолучитьМакет("Макет");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Период КАК Период,
| ПродажиОбороты.Контрагент КАК Контрагент,
| ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Контрагент) КАК КонтрагентПредставление,
| ПродажиОбороты.СуммаОборот КАК Сумма
|ИЗ
| РегистрНакопления.Продажи.Обороты(, , Месяц, ) КАК ПродажиОбороты
|
|УПОРЯДОЧИТЬ ПО
| Период,
| Контрагент
|ИТОГИ
| СУММА(Сумма)
|ПО
| ОБЩИЕ,
| Контрагент,
| Период ПЕРИОДАМИ(ДЕКАДА, , )";
РезультатЗапроса = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаКонтрагент = Макет.ПолучитьОбласть("Шапка|Контрагент");
ОбластьШапкаПериод = Макет.ПолучитьОбласть("Шапка|Период");
ОбластьШапкаИтог = Макет.ПолучитьОбласть("Шапка|Итог");
ОбластьСтрокаКонтрагент = Макет.ПолучитьОбласть("Строка|Контрагент");
ОбластьСтрокаПериод = Макет.ПолучитьОбласть("Строка|Период");
ОбластьСтрокаИтог = Макет.ПолучитьОбласть("Строка|Итог");
ОбластьПодвалКонтрагент = Макет.ПолучитьОбласть("Подвал|Контрагент");
ОбластьПодвалПериод = Макет.ПолучитьОбласть("Подвал|Период");
ОбластьПодвалИтог = Макет.ПолучитьОбласть("Подвал|Итог");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаКонтрагент);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаПериод = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период","Все");
Пока ВыборкаПериод.Следующий() Цикл
ОбластьШапкаПериод.Параметры.Заполнить(ВыборкаПериод);
ТабДок.Присоединить(ОбластьШапкаПериод);
КонецЦикла;
ТабДок.Присоединить(ОбластьШапкаИтог);
ВыборкаКлиент = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Контрагент");
Пока ВыборкаКлиент.Следующий() Цикл
ОбластьСтрокаКонтрагент.Параметры.Заполнить(ВыборкаКлиент);
ТабДок.Вывести(ОбластьСтрокаКонтрагент);
ВыборкаПериодКонтрагента = ВыборкаКлиент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период","Все");
Пока ВыборкаПериодКонтрагента.Следующий() Цикл
ОбластьСтрокаПериод.Параметры.Заполнить(ВыборкаПериодКонтрагента);
ТабДок.Присоединить(ОбластьСтрокаПериод);
КонецЦикла;
ОбластьСтрокаИтог.Параметры.Заполнить(ВыборкаКлиент);
ТабДок.Присоединить(ОбластьСтрокаИтог);
КонецЦикла;
ТабДок.Вывести(ОбластьПодвалКонтрагент);
ВыборкаПериод.Сбросить();
Пока ВыборкаПериод.Следующий() Цикл
ОбластьПодвалПериод.Параметры.Заполнить(ВыборкаПериод);
ТабДок.Присоединить(ОбластьПодвалПериод);
КонецЦикла;
ВыборкаИтог = РезультатЗапроса.Выбрать(); //т.е. общие итоги
Если ВыборкаИтог.Следующий() Тогда
ОбластьПодвалИтог.Параметры.Заполнить(ВыборкаИтог);
ТабДок.Присоединить(ОбластьПодвалИтог);
КонецЕсли;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
КонецПроцедуры
&НаКлиенте
Процедура КроссТабПродажиПоМесяцам(Команда)
ТабДок = Новый ТабличныйДокумент;
КроссТабПродажиПоМесяцамНаСервере(ТабДок);
ТабДок.Показать();
КонецПроцедуры
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день! понимала, что должно быть форматирование, искала, нашла оформление, положение, а формата без Вашей подсказки не нашла! Ну что скажешь – Семён Семёнович! Спасибо за терпение!
…
(текст комментария доступен только участникам Мастер-группы)
А вот с программным определением формата всё равно не получается. Исправьте, пожалуйста, ошибку:
ВыборкаПериод = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период","Все");
Пока ВыборкаПериод.Следующий() Цикл
ОбластьШапкаПериод.Параметры.Заполнить(ВыборкаПериод);
ОбластьШапкаПериод.Параметры.Период = Формат(ВыборкаПериод, "ДФ=dd.MM.yyyy");
ТабДок.Присоединить(ОбластьШапкаПериод);
КонецЦикла;
…
(текст комментария доступен только участникам Мастер-группы)
Задание 24. Решила задание не через объединение, а через пакет запросов.
Вопросы: 1. Возможно ли такое решение или оно ошибочно? В чём преимущества?
2. В решении были использованы временные таблицы, при этом менеджер временных таблиц не использовался, а всё сработало. Почему?
&НаСервереБезКонтекста
Процедура ЦеныКомпанииНаСервере(ТабДок)
Макет = Обработки.Задание24.ПолучитьМакет("Макет");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.Номенклатура) КАК НоменклатураПредставление,
| ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаЗакуп
|ПОМЕСТИТЬ ВТ_Закуп
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование ПОДОБНО ""%закуп%"") КАК ЦеныНоменклатурыСрезПоследних
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
| ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.Номенклатура) КАК НоменклатураПредставление,
| ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаРозн
|ПОМЕСТИТЬ ВТ_Розн
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование ПОДОБНО ""%розн%"") КАК ЦеныНоменклатурыСрезПоследних
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_Закуп.Номенклатура КАК Номенклатура,
| ПРЕДСТАВЛЕНИЕ(ВТ_Закуп.Номенклатура) КАК НоменклатураПредставление,
| ВТ_Закуп.ЦенаЗакуп КАК ЦенаЗакуп,
| ВТ_Розн.ЦенаРозн КАК ЦенаРозн,
| (ВТ_Розн.ЦенаРозн / ВТ_Закуп.ЦенаЗакуп - 1) * 100 КАК Процент
|ИЗ
| ВТ_Закуп КАК ВТ_Закуп
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Розн КАК ВТ_Розн
| ПО ВТ_Закуп.Номенклатура = ВТ_Розн.Номенклатура";
РезультатЗапроса = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
КонецПроцедуры
&НаКлиенте
Процедура ЦеныКомпании(Команда)
ТабДок = Новый ТабличныйДокумент;
ЦеныКомпанииНаСервере(ТабДок);
ТабДок.Показать();
КонецПроцедуры
…
(текст комментария доступен только участникам Мастер-группы)
Благодарю за разъяснение, эту важную разницу между получаемыми результатами не понимала.
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день, нашла таблицу Управление итогами в “Управление торговым предприятием для Украины”, редакция 1.2. Она совсем другая, другие колонки, только одна заполнена. Но больше удивило то, что там только 2 регистра бухгалтерии, остальные регистры накопления. Регистров сведений нет. Может что-то не то нашла?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
Возник вопрос по условиям в запросах: Условия в секции ГДЕ выполняются последовательно?
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо!
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
Объясните, пожалуйста, как используются и что означают колонки в таблице “Управление итогами”. Когда нужно что-то менять в этой таблице? И часто ли?
Заранее спасибо.
…
(текст комментария доступен только участникам Мастер-группы)
Добрый вечер!
Практическое задание 24, посмотрите, возможен ли такой вариант решения:
ЦеныНоменклатурыСрезПоследних.Номенклатура,
СУММА(ВЫБОР
КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен = &Закупочная
ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
ИНАЧЕ 0
КОНЕЦ) КАК ЦЗ,
СУММА(ВЫБОР
КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен = &Розничная
ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
ИНАЧЕ 0
КОНЕЦ) КАК ЦР
ПОМЕСТИТЬ ВТ
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
СГРУППИРОВАТЬ ПО
ЦеныНоменклатурыСрезПоследних.Номенклатура
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ.Номенклатура,
ВТ.ЦЗ,
ВТ.ЦР,
ВЫБОР
КОГДА ВТ.ЦЗ = 0
ТОГДА NULL
ИНАЧЕ 100 * (ВТ.ЦР - ВТ.ЦЗ) / ВТ.ЦЗ
КОНЕЦ КАК ПроцентНаценки
ИЗ
ВТ КАК ВТ
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо!
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте, вопрос по видео 7-3-5, мы указываем дату начала и дата конец 11/01/2012/12/00/00, запрос нам возвращает только движения по одному документу, но в базе есть еще 2 документа на эту же дату с точностью до секунды, почему запрос и их не включил
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день!
Небольшое замечание/пожелание: в практическом задании № 27 говорится о периоде задаваемом пользователем (см. вложение), а в видео-примере решения – период отсутствует.
…
(текст комментария доступен только участникам Мастер-группы)
1. Где взять демо версию 1С Бухгалтерия 1С ЗУП?
2. В регистрах бухгалтерии в виртуальных таблицах группировка также происходит по измерениям автоматически, т.е. не нужно использовать группировку?
…
(текст комментария доступен только участникам Мастер-группы)
Практическое задание №24. Не оптимальнее ли использовать следующий запрос, который выполняется на 50% быстрее?
ЦеныНоменклатурыСрезПоследнихЗакуп.Номенклатура КАК Номенклатура,
ЦеныНоменклатурыСрезПоследнихЗакуп.Цена КАК ЦенаЗакупочная,
ЦеныНоменклатурыСрезПоследнихРозница.Цена КАК ЦенаРозничная,
(ЦеныНоменклатурыСрезПоследнихРозница.Цена / ЦеныНоменклатурыСрезПоследнихЗакуп.Цена - 1) * 100 КАК Процент
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование = &РозничнаяЦена) КАК ЦеныНоменклатурыСрезПоследнихРозница
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование = &ЗакупочнаяЦена) КАК ЦеныНоменклатурыСрезПоследнихЗакуп
ПО (ЦеныНоменклатурыСрезПоследнихЗакуп.Номенклатура = ЦеныНоменклатурыСрезПоследнихРозница.Номенклатура)
УПОРЯДОЧИТЬ ПО
ЦеныНоменклатурыСрезПоследнихЗакуп.Номенклатура.Наименование
…
(текст комментария доступен только участникам Мастер-группы)
А если в данном варианте применять не внутреннее, а полное соединение таблиц?
ЗакупочнаяЦена.Номенклатура КАК Номенклатура,
ЕСТЬNULL(ЗакупочнаяЦена.Цена, 0) КАК ЦенаЗакупочная,
ЕСТЬNULL(РозничнаяЦена.Цена, 0) КАК ЦенаРозничная,
100 * (РозничнаяЦена.Цена - ЗакупочнаяЦена.Цена) / ЗакупочнаяЦена.Цена КАК Наценка
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ЗакупочнаяЦена) КАК ЗакупочнаяЦена
ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &РозничнаяЦена) КАК РозничнаяЦена
ПО (ЗакупочнаяЦена.Номенклатура = РозничнаяЦена.Номенклатура)
…
(текст комментария доступен только участникам Мастер-группы)
Понятно, спасибо. Да, про расчет наценки упущение.
…
(текст комментария доступен только участникам Мастер-группы)
ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаЗакупочная,
ЦеныНоменклатурыСрезПоследних1.Цена КАК ЦенаРозничная,
100 * (ЦеныНоменклатурыСрезПоследних1.Цена - ЦеныНоменклатурыСрезПоследних.Цена) / ЦеныНоменклатурыСрезПоследних.Цена КАК ПроцентНаценки
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование = "Закупочная Цена") КАК ЦеныНоменклатурыСрезПоследних
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование = "Розничная Цена") КАК ЦеныНоменклатурыСрезПоследних1
ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура
Добрый день! Скажите на 24 задание Такой Запрос не проще работать будет? Ведь он одним запросом идет. Вроде данные корректные получаются.
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо! Я понял ,что данные попадут не все в запрос, а только те у которых установлены обязательно обе цены.Если я хочу выбрать все данные нужно делать разными запросами.
НЕ совсем понял что проверять на NULL, если нет ни одной позиции Номенклатуры в базе у которой установлены 2 цены?
…
(текст комментария доступен только участникам Мастер-группы)
ЦенаЗакупочная.Номенклатура КАК Номенклатура,
ЦенаЗакупочная.Цена КАК ЦенаЗакупочная,
ЕСТЬNULL(NULL, 0) КАК ЦенаРозничная
ПОМЕСТИТЬ ЦенаПоступление
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &Закупочная) КАК ЦенаЗакупочная
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЦенаРозничная.Номенклатура,
ЕСТЬNULL(NULL, 0),
ЦенаРозничная.Цена
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &Розничная) КАК ЦенаРозничная
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
НоменклатураО.Ссылка КАК Номенклатура,
СУММА(ЕСТЬNULL(ЦенаПоступление.ЦенаЗакупочная, 0)) КАК ЦенаЗакупочная,
СУММА(ЕСТЬNULL(ЦенаПоступление.ЦенаРозничная, 0)) КАК ЦенаРозничная
ПОМЕСТИТЬ БезНаценки
ИЗ
Справочник.Номенклатура КАК НоменклатураО
ЛЕВОЕ СОЕДИНЕНИЕ ЦенаПоступление КАК ЦенаПоступление
ПО (ЦенаПоступление.Номенклатура.Ссылка = НоменклатураО.Ссылка)
ГДЕ
НЕ НоменклатураО.ПометкаУдаления
И НЕ НоменклатураО.ЭтоГруппа
СГРУППИРОВАТЬ ПО
НоменклатураО.Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
БезНаценки.Номенклатура КАК Номенклатура,
БезНаценки.ЦенаЗакупочная КАК ЦенаЗакупочная,
БезНаценки.ЦенаРозничная КАК ЦенаРозничная,
ВЫБОР
КОГДА БезНаценки.ЦенаЗакупочная > 0
ТОГДА (БезНаценки.ЦенаРозничная - БезНаценки.ЦенаЗакупочная) / БезНаценки.ЦенаЗакупочная * 100
ИНАЧЕ 0
КОНЕЦ КАК Наценка
ИЗ
БезНаценки КАК БезНаценки
Добрый вечер ! Скажите Данный запрос оптимальный если я хочу проверить цены на весь справочник номенклатуры. Спасибо!
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо, за полный ответ
Здравствуйте, вопрос по главе “Параметры виртуальной таблицы остатков” (стр. 204) методического пособия к курсу.
При построении этой виртуальной таблицы могут использоваться параметры.
Насколько я понял, параметр Субконто предназначен для установления отбора записей регистра по видам субконто, а параметр Условие – по значениям субконто.
Правильно ли я понимаю, что один вид субконто может иметь несколько значений?
Например, вид субконто Контрагенты может иметь значения Поставщики, Покупатели, Банки (СправочникСсылка.Поставщики, СправочникСсылка.Покупатели, СправочникСсылка.Банки).
Или один вид субконто всегда имеет строго одно значение ?
Например, вид субконто Склады имеет значение Склады (СправочникСсылка.Склады)
…
(текст комментария доступен только участникам Мастер-группы)
Василий, спасибо за развернутый ответ.
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте, вопрос по главе “Структура регистра бухгалтерии” (стр. 195) методического пособия к курсу.
Основная таблица регистра бухгалтерии содержит такие поля как ИзмерениеДт, ИзмерениеКт, РесурсДт и РесурсКт.
Скажите, пожалуйста, на основании чего они появляются и почему они небалансовые (что измерения, что ресурсы)?
Моё предположение, что как-то это связано с признаками учета, определенными в плане счетов.
…
(текст комментария доступен только участникам Мастер-группы)
Василий, количество имеет смысл только для счета Товары при условии, что по счету Товары активирован признак учета Количественный?
Тогда поле КоличествоДт будет иметь некое числовое значение, иначе – нет?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте, вопрос по главе “Устройство виртуальной таблицы остатков” (стр. 167) методического пособия к курсу.
Правильно ли я понял, что остатки по виртуальной таблице остатков регистра накопления определяются системой исходя из двух таблиц самой базы данных – основная таблица регистра накопления и таблица итогов?
Причем если используются текущие итоги, то остаток на конкретную дату определяется путем корректировки текущих итогов на 01.11.3999 таблицы итогов через движения (приход, расход) основной таблицы регистра накопления до этой конкретной даты, например 01.09.2020 ?
Если текущие итоги не используются, то остаток на конкретную дату (например, 01.09.2020) определяется путем корректировки последних итогов таблицы итогов (итоги до 01.09.2020) движениями основной таблицы регистра накопления от даты последних итогов (например, 25.08.2020) до 01.09.2020?
…
(текст комментария доступен только участникам Мастер-группы)
Василий, исходя из этого предложения
,а также того, что мне известно из теории, я прихожу к выводу, что таблица итогов хранит остатки на 1-е число каждого месяца текущего и прошлых годов, по которым велся учет, а также будущих годов вплоть до 01.11.3999.
Правильно ли я понял?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте, вопрос по практическому заданию 22.
При выполнении задания, я наложил условие отбора на виртуальную таблицу (Снимок 1).
В результате помимо Иванова и Романова попал еще и Мищенко, поскольку он имеет в названии должности слово “Руководитель”, однако это не последняя запись по Мищенко в “Кадровой истории” (Снимок 2) и по идее она не должна была попасть в результат выполнения запроса .
Почему она все-таки попала?
В практическом задании 23 есть ответ на мой вопрос.
Прошу игнорировать его.
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
Спасибо за полные ответы с примерами на вопросы в предыдущей теме.
Следующее решение практикума №24 будет правильным?
ВЫБРАТЬ
Закуп.Номенклатура КАК НоменклатураЗакуп,
Закуп.Цена КАК ЦенаЗакуп
ПОМЕСТИТЬ ВТ_Закуп
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК Закуп
ГДЕ
Закуп.ТипЦен = &Закуп
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Продажа.Номенклатура КАК НоменклатураПродажа,
Продажа.Цена КАК ЦенаПродажа
ПОМЕСТИТЬ ВТ_Продажа
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК Продажа
ГДЕ
Продажа.ТипЦен = &Продажа
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Закуп.НоменклатураЗакуп КАК НоменклатураЗакуп,
Закуп.ЦенаЗакуп КАК ЦенаЗакуп,
Продажа.НоменклатураПродажа КАК НоменклатураПродажа,
Продажа.ЦенаПродажа КАК ЦенаПродажа,
ВЫБОР
КОГДА Закуп.ЦенаЗакуп ЕСТЬ НЕ NULL
И Закуп.ЦенаЗакуп 0
ТОГДА 100 * (Продажа.ЦенаПродажа – Закуп.ЦенаЗакуп) / Закуп.ЦенаЗакуп
КОНЕЦ КАК Процент
ИЗ
ВТ_Закуп КАК Закуп
ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Продажа КАК Продажа
ПО Закуп.НоменклатураЗакуп = Продажа.НоменклатураПродажа
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо, сняли все мой вопросы. У нас PostgreSQL, учту рекомендацию.
…
(текст комментария доступен только участникам Мастер-группы)
Доброго времени суток.
Скажите, почему по одной из самых важных тем – по регистрам бухгалтерии – каркасная конфигурация, которая была в комплекте материалов, не содержит ни одного объекта-примера? (ни одного регистра бухгалтерии, ни одного плана счетов)
…
(текст комментария доступен только участникам Мастер-группы)
Доброго времени суток. Вернулся, наконец, к курсу, и что хочу сказать: я, в основном, ради методов оптимизации курс прохожу, и думаю, что из разных вариантов выполнения тестовых задач вы не зря выбираете один, и хотелось бы пояснений, почему. Но с пояснениями тут плохо: например, в модуле 7 в решении для задания 24, вместо подзапроса с объединением (данные из которого сразу же групировались бы и суммировались), данные (не для поиска, не для соединения, а просто для объединения) помещаются во временную таблицу, и уже при выборке из нее производится группировка и суммирование. Есть на это какая-то причина, при суммировании СУБД как-то используется статистика по ВТ для оптимизации, или что?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте, есть некий регистр сведений из которого хочу получить уникальные значения по одному или нескольким измерениям.
Вариант 1:
| РегистрСведенийТест.Тест КАК Тест
|ИЗ
| РегистрСведений.РегистрСведенийТест КАК РегистрСведенийТест
|
|СГРУППИРОВАТЬ ПО
| РегистрСведенийТест.Тест"
Вариант 2:
| РегистрСведенийТест.Тест КАК Тест
|ИЗ
| РегистрСведений.РегистрСведенийТест КАК РегистрСведенийТест"
Какой вариант предпочтительнее?
…
(текст комментария доступен только участникам Мастер-группы)
все вроде работает. ток не пойму. почему в задании с табличнм документам и продажами по контрам уменя при конструировании запроса не выходят автоматом поля представления и нужны ли они тогда вообще….
…
(текст комментария доступен только участникам Мастер-группы)
не совсем понял, а зачем брать и ссылку и представлениев запрос – получается двойная работа . и ссылку получаем и еще и ее представление. логично же оставить просто ссылку тогда уж
…
(текст комментария доступен только участникам Мастер-группы)
спасибо за пояснение. изыините у меня вопросы по 7 модулю концу его. там обхясняется работа с регистром бухгалтерии и расчета. посоветуете. где можно с нуля оснознать их суть? потому что скондочка на итповых решениях, не зная что такое бухгалтерия и зарплата в принципе, не очень понятно
…
(текст комментария доступен только участникам Мастер-группы)
окей, понял, спасибо. а то чеснто сказать на веру тяжко воспринимаю тот факт, что регистр бухгалтерии нельзя воспроизвести регистром накопления. ведь в чем проблема двойную запись вести вообще в любом из регистров – измерения есть везде. ляпай не хочу, а при проводке доков, просто подставляй внужное место дт и кт и субконто.
…
(текст комментария доступен только участникам Мастер-группы)
спасибо за ответ, вроде понятнее стало
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день.
Вопрос смешан с блоком 1. Задал в седьмом т.к. Первый в большей степени по общим вопросам.
В блоке 1 на странице 27 сказано
Платформа сначала получает текущие остатки регистра (остатки на текущую дату), которые хранятся в таблице итогов на дату 01.11.3999 00:00:00, затем корректирует эти остатки в соответствии с записями из таблицы движений за период с даты получения остатков по дату текущих остатков.
Но это вроде же только один из возможных случаев, когда запрос СУБД будет сформирован таким образом.
Такой случай как раз приведен в первом примере из блока 7 стр. 167
По большому счету это же наверно зависит от того что на текущий момент имеется в таблице итогов, и на какую дату мы берем остатки
Если к примеру взять полностью первый пример блока 7 и поменять в нем только саму дату среза итогов на 05.03.2012
Разве оптимизатор не предпочтет выбрать итоги на 01.03.2012 а потом прибавить к ним выборку из таблицы движений за период с 1.03.2012 по 04.03.2012 23:59:59
И запрос СУБД уже будет похож на второй пример с отключенными текущими итогами, хотя текущие итоги по прежнему включены.
Либо к примеру для даты 25.02.2012
по идее быстрее выбрать итоги на 01.03.2012 а потом отнять от них выборку из таблицы движений за период с 25.02.2012 по 29.02.2012 23:59:59
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо!
Добрый день. Вопрос по решению Практического задания №25. Я решил его через функцию. Табличный документ создаю на сервере и функция возвращает его на клиента. В решении преподавателя табличный документ создается на клиенте, передается на сервер, а потом возвращается на клиента. Вопрос: Зачем ТабДок создавать на клиенте и передавать его на сервер, если можно без этого обойтись?
ТабДок = СформироватьНаСервере();
ТабДок.Показать();
КонецПроцедуры
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте!
Скажите, пожалуйста, почему в поставке нет демо базы для бухгалтерских запросов?
Спасибо.
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте! Задание 23.
Когда в параметрах ВТ делаем отбор по должности получаем все записи из регистра, а если сделать такой же отбор но по сотруднику (“мищенко”) выдает только последние. Т.е. разница между условие в параметрах ВТ и условие в запросе действует только на ресурс, а на измерение не распространяется, правильно?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте. Вопрос по заданию 24. Можно ли вычислять процент наценки непосредственно в запросе, и что лучше использовать в данном задании: вложенный запрос или виртуальные таблицы?
Спасибо.
ВложенныйЗапрос.Товар КАК Товар,
СУММА(ВложенныйЗапрос.ЦенаЗакупочная) КАК ЦенаЗакупочная,
СУММА(ВложенныйЗапрос.ЦенаРозничная) КАК ЦенаРозничная,
(СУММА(ВложенныйЗапрос.ЦенаРозничная) - СУММА(ВложенныйЗапрос.ЦенаЗакупочная)) / СУММА(ВложенныйЗапрос.ЦенаЗакупочная) * 100 КАК ПроцентНаценки
ИЗ
(ВЫБРАТЬ
ИсходныеДанные.Номенклатура КАК Товар,
ИсходныеДанные.Цена КАК ЦенаЗакупочная,
0 КАК ЦенаРозничная
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦеныЗакупочная) КАК ИсходныеДанные
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура,
0,
ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен = &ТипЦеныРозничная) КАК ЦеныНоменклатурыСрезПоследних) КАК ВложенныйЗапрос
СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Товар
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день!
Просьба проконсультировать – в практическом задании №27 хочу сразу в запросе указать товар или услуга, такой запрос выдает ноль записей
ПродажиОбороты.Контрагент КАК Контрагент,
ПродажиОбороты.СуммаОборот КАК СуммаОборот,
ПродажиОбороты.Номенклатура.ВидНоменклатуры КАК НоменклатураВидНоменклатуры
ИЗ
РегистрНакопления.Продажи.Обороты(, , Авто, ) КАК ПродажиОбороты
ГДЕ
ПродажиОбороты.Номенклатура.ВидНоменклатуры.Ссылка = "Товар"
Вопрос можно решить через “Порядок”:
ГДЕ
ПродажиОбороты.Номенклатура.ВидНоменклатуры.Порядок = 0
Но хочется разобраться как можно сделать через указание “Товар”
…
(текст комментария доступен только участникам Мастер-группы)
Понятно. Спасибо!
Добрый вечер!
В уроке Query-7-3-AccntRg-3 Вы рассказываете про параметр Субконто. При этом в поле Условие Вы пишите: Организация = &Организация, а в поле Субконто Вы пишите: &Субконто. А почему не Субконто = &Субконто ?
…
(текст комментария доступен только участникам Мастер-группы)
Понял Вас.
Спасибо!
Добрый день!
Не понятно объяснение про методы Движения и ДвиженияИГраницыПериодов. При выборе метода Движения запрос получает 17 записей, а при выборе ДвиженияИГраницыПериодов получаем 36 записей. Почему 36, а не 19? Ведь интервал включает две даты: дату начала периода и дату окончания периода. То есть две даты. Получается, что должно получиться 19 записей, а получилось 36 почему-то…
Поясните, пожалуйста!
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день, в задании № 24 не проще ли было соединить таблицы РегистрСведений.ЦеныНоменклатуры.СрезПоследних между собой, чтобы получить две колонки цен, вместо объединения, ведь тогда не надо прибегать к функциям группировки и суммирования полей?
…
(текст комментария доступен только участникам Мастер-группы)
Благодарю за исчерпывающий ответ.
Еще вопрос: почему Вы используете при решении задания 26 в запросе функцию ПРЕДСТАВЛЕНИЕ() вместо поля Контрагент.Представление?
…
(текст комментария доступен только участникам Мастер-группы)
Приветствую.
Условие: выберем данные с 13.01.2019 по 15.03.2019
1. Оборотный – собирает данные с 13.01.2019 по 31.01.2019 (включительно) по активным записям + берет готовые итоги (из таблицы “Итоги”) за февраль + с 01.03.2019 по 15.03.2019 снова по активным записям собирает данные
2. Остаточный – собирает с 13.01.2019 по 15.03.2019 по активным записям
Вопрос №1: Верно ли понимаю, что в остаточном нет рассчитанных оборотов, и там всегда происходит выборка по активным записям?
Вопрос №2: Верно ли построить два регистра для одного документа если использование оборотов и остатков приблизительно в равных долях будет использоваться?
Вопрос №3: Является ли ошибкой на экзамене на 1С:Специалист пункт 2? (Если в ваших курсах по “1С: Специалист” получу эту информацию. тогда не актуален ответ)
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день! Почему-то после создания второго запроса на закладке Объединения и помещения запроса в ВТ на закладке Дополнительно, на закладке Таблицы и поля не появляется временная таблица. Все делал в точности как в видеоролике решения наставника
…
(текст комментария доступен только участникам Мастер-группы)
Необходимо получить остатки рег.накопления. Возьмем Виртуальную таблицу Остатки (см. видео урок Query-7-2-AccumRg-2). Есть три типа значения периода Виртуальной таблицы Остатки: Дата, МоментВремени, Граница.
Как задать “период -Граница” при использовании Виртуальной таблицы рег.накопления Остатки в Модуле?
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо!
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день! Практическое задание №24. Вы используете объединение запросов. А такой вариант решения задачи неправильный?
ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Товар,
ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаЗакупочная
ПОМЕСТИТЬ ВТ_Закуп
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование ПОДОБНО "%закупочная%") КАК ЦеныНоменклатурыСрезПоследних
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Товар,
ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаРозничная
ПОМЕСТИТЬ ВТ_Розн
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен.Наименование ПОДОБНО "%розничная%") КАК ЦеныНоменклатурыСрезПоследних
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_Закуп.Товар КАК Товар,
ВТ_Закуп.ЦенаЗакупочная КАК ЦенаЗакупочная,
ВТ_Розн.ЦенаРозничная КАК ЦенаРозничная,
(ВТ_Розн.ЦенаРозничная - ВТ_Закуп.ЦенаЗакупочная) * 100 / ВТ_Закуп.ЦенаЗакупочная КАК ПроцентНаценки
ИЗ
ВТ_Закуп КАК ВТ_Закуп
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Розн КАК ВТ_Розн
ПО (ВТ_Закуп.Товар = ВТ_Розн.Товар)
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо!
Вторая часть таблицы. не заметил что сразу не прикрепилась
Здравствуйте! Привожу в качестве примера таблицу с движениями по регистру расчета “Начисления” , сделанные документом “Начисление зарплаты и взносов”. Выбирая данный документ в предложенной обработке я получаю пустой результат запроса. Когда же в запросе вместо виртуальной таблицы выбираю основную, получаю результат , аналогичный скриншоту. Поэтому мне и стало интересно по каким причинам то что работает у вас не работает у меня .
Для чистоты эксперимента пробовал выбирать все документы делающие движения по данному регистру и везде получал пустые значения
У Вас в движениях по документу только вид оплаты Оклад. У оклада нет базы для начисления, поэтому ничего из виртуальной таблицы БазаНачисления и не выбралось. Эта таблица используется для расчета базы для видов начисления
Добрый день!
Использовал рассматриваемую в теме обработку “База(Query-7-4-CalcRg-3)” на реальной базе ЗУП 3.1 (3.1.9.205, 8.3.14.1694)и результат получаю пустой, хотя если делаю выборку по основной таблице регистра, данные есть. С чем может быть связано такое поведение?
Добрый день.
Покажите данные из Вашей базы, которые, по-вашему мнению, должны попадать