новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Обсуждение к материалу: СКД использование временных таблиц в запросах

    • #1
    • 25.04.2014 09:50
    0
    Создание, использование, удаление временных таблиц в запросах СКД   Подробнее>>
    • #2
    • 25.04.2014 11:05
    0
    Статья - ни о чем! В чем же особенности использования временных таблиц в СКД? Есть ли какие "подводные камни"?
    • #3
    • 25.04.2014 11:08
    0
    Бардюг Артем Анатольевич
    особенности использования временных таблиц в СКД? Есть ли какие "подводные камни"?


    есть
    • #4
    • 25.04.2014 11:16
    • Отредактировано: 25.04.2014 11:17:58
    0
    Бардюг Артем Анатольевич
    Статья - ни о чем! В чем же особенности использования временных таблиц в СКД? Есть ли какие "подводные камни"?



    Статья о том, что заявлено в теме статьи - Создание, использование и удаление временных таблиц в СКД. И предназначена для тех, кто не знает, как это делать. Естественно сами запросы уже надо понимать на начальном уровне. Если вы уже знаете как программировать и вам статья ничего не дала - напишите свою статью, потратьте время. Может это кому нибудь пригодиться. Недовольный вы наш.
    • #5
    • 25.04.2014 11:20
    • Отредактировано: 25.04.2014 11:22:06
    0
    Чайкин Игорь Александрович
    Бардюг Артем Анатольевич
    особенности использования временных таблиц в СКД? Есть ли какие "подводные камни"?


    есть


    Соглашусь что, в 1С очень много подводных камней, особенно для тех , кто плавать не умеет. Вот один камешек достали. )))

    Вы лучше конкретные вопросы задавайте - может кто поможет ответом.
    • #6
    • 25.06.2014 19:58
    0
    Если говорить не о временных таблицах в СКД, а об итоговом (внутреннем "выходном") генерирующемся запросе, который нужно еще программно отловить в событии модуля отчета при компоновке то напороться на камешки можно. А именно, при использовании виртуальных таблиц регистра накопления:
    1. У поля-периода не выбрать родителя и не отметить чей он родитель;
    2. Если не выбрать оба неразлучных парных ресурса (приход без расхода);
    3. При определенных условиях левое соединение таблиц может стать внутренним.
    Если первый пункт еще можно списать на недоработки платформы 1С 8, то остальные сделаны якобы для облегчения жизни программиста (п 3 может увеличить производительность, но может и навредить. Если хотим перестраховаться, то лучше соединить таблицы именно в одном запросе, а не сами источники данных на закладке связи). Я только потом нашел эти интересные места в книге Хрусталевой :)
    Так что список подводных камней про то какой получается итоговый запрос в СКД лучше продолжать и продолжать.
    • #7
    • 15.07.2014 15:19
    0
    Наглядная, хорошая статья для начинающих. В книгах так не объясняют к сожалению. Жаль,что года 2 назад не нашла эту статью. Пришлось мучить опытного программиста, чтобы научил.
    • #8
    • 07.08.2014 17:58
    0
    Вот публиковали чего нельзя делать в запросах СКД: http://infostart.ru/public/73558/. В данной статье описывается, по какой причине отчет, созданный при помощи системы компоновки данных, может выдавать неправильные остатки. Особенно нужно помнить про период "Авто".
    Не использование периодичности Авто

    Данная проблема возникает, когда данные получаются из виртуальной таблицы ОстаткиИОбороты с указанием периодичности, отличной от Авто, если при этом в отчет выводятся не все поля - периоды. Эта проблема родственна проблеме "Отсутствие родительских полей - периодов в запросе", описанной в начале данной статьи.

    Пример запроса, который может привести к получению неправильных остатков:

    ВЫБРАТЬ
    УчетНоменклатурыОстаткиИОбороты.Регистратор,
    УчетНоменклатурыОстаткиИОбороты.Период,
    УчетНоменклатурыОстаткиИОбороты.Номенклатура,
    УчетНоменклатурыОстаткиИОбороты.Склад,
    УчетНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток,
    УчетНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток,
    УчетНоменклатурыОстаткиИОбороты.КоличествоОборот
    ИЗ
    РегистрНакопления.УчетНоменклатуры.ОстаткиИОбороты(, , Регистратор, , ) КАК УчетНоменклатурыОстаткиИОбороты
    Для решения проблемы лучше в запросах для настраиваемых отчетов системы компоновки данных, в виртуальных таблицах ОстаткиИОбороты, использовать периодичность Авто. Или обеспечить обязательных вывод всех полей - периодов в результат отчета.

    Пример запроса:

    ВЫБРАТЬ
    УчетНоменклатурыОстаткиИОбороты.Регистратор,
    УчетНоменклатурыОстаткиИОбороты.ПериодСекунда,
    УчетНоменклатурыОстаткиИОбороты.Номенклатура,
    УчетНоменклатурыОстаткиИОбороты.Склад,
    УчетНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток,
    УчетНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток,
    УчетНоменклатурыОстаткиИОбороты.КоличествоОборот
    ИЗ
    РегистрНакопления.УчетНоменклатуры.ОстаткиИОбороты(, , Авто, , ) КАК УчетНоменклатурыОстаткиИОбороты
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться