8.х Вопросы по СКД от начинающего

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем belbuh, 31 авг 2013.

  1. TopicStarter Overlay
    belbuh
    Offline

    belbuh Новичок в 1С

    Регистрация:
    18 июл 2013
    Сообщения:
    46
    Симпатии:
    2
    Баллы:
    4
    Пишу отчет СКД.
    Мне нужно вывести в отчете список ОС, стоимость, амортизацию и количество. См. ниже код запроса (я его укоротил как мог для наглядности).

    Загвоздка в том, что для объектов ОС в конфигурации есть свойство "ГрупповойУчет" (равное 1 или 0).
    Если мы выводим ОС, у которого есть групповой учет, то поля "Первоначальная стоимость" и "Амортизация" я должен разделить на поле "Количество".

    Я не знаю как правильно это сделать в самом запросе.

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

    В конце запроса есть условие
    Код:
    ЕПСБУОстатки.Субконто2 В(&ВыбранныеОС)
    Параметр "&ВыбранныеОС" это список значений.
    Как мне сформулировать условие в запросе, чтобы, когда параметр "ВыбранныеОС" пустой, запрос выбирал бы все ОС.
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    К СКД ваши вопросы не относятся.
    Поясните, что значит разделить?
    Никак. Это нужно делать в коде. Через ГДЕ этого лучше не делать. Условие поместите в параметры виртуальной таблицы. Исходя из этого Вам нужен программный вывод отчета...
  3. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Уберите параметр. Используйте отбор СКД по этому полю и все.
    З.Ы.
    Если отчет у вас строится только по одному счету, и тип значения Субконто2 остается постоянным (СправочникСсылка.ОсновныеСредства), то дополнительно там где у вас описываются Наборы данных установите для этого поля соответствующий нужный тип значения (колонка "Тип значения"), таким образом при установки значения условия в отборе не придется выбирать тип значения.

    Первую часть вопроса также не понял.
  4. TopicStarter Overlay
    belbuh
    Offline

    belbuh Новичок в 1С

    Регистрация:
    18 июл 2013
    Сообщения:
    46
    Симпатии:
    2
    Баллы:
    4
    Разделить значит получить результат деления. Цена = Сумма / Количество (см. рис.)

    Обычно ОС учитываются отдельно друг от друга в кол-ве 1 шт. Но в моей конфигурации (БГУ) предусмотрен групповой учет.
    И в этом случае на остатках по дебету счета учета ОС по будет сумма всех объектов.
    А я хочу получить стоимость каждого.

    Я сделал этот отчет в более сложном варианте без СКД. Но мне захотелось изучить этот механизм.

    Посмотреть вложение 16097

    Спасибо.
    У меня сразу возник еще вопрос. Извините, если сильно глупый.
    Вот на картинке я изобразил что хочу:
    Посмотреть вложение 16098

    В конф. БП 3.0 (уф) есть кнопка "Быстрые настройки". Нажал, и открываются параметры.
    А у меня конф. другая и там НЕ УФ, но нет кнопки вызова или полей ввода параметров (см. первый рис.).

    Что мне надо сделать, чтобы вводить параметры в отчете?
    Пока я ввожу их кнопкой "Настройки".

    Если в обычной форме без СКД я сам могу разместить реквизиты (параметры) на форме, то в СКД они должны же как-то добавляться на форме...

    Вложения:

    • СКД-1.png
      СКД-1.png
      Размер файла:
      74 КБ
      Просмотров:
      34
    • СКД-УФ.png
      СКД-УФ.png
      Размер файла:
      34,3 КБ
      Просмотров:
      39
  5. pavl_vs
    Offline

    pavl_vs Профессионал в 1С

    Регистрация:
    18 июн 2011
    Сообщения:
    343
    Симпатии:
    27
    Баллы:
    54
    Какая-то путанница у Вас.
    1. Сумма за N-е количество однородных ОС существует на стадии покупки; там же определен и счет учета, который Вы, по-видимому, и имеете ввиду.
    2. На стадии принятия к учету, если в свойствах ОС "Групповой учет", записывается стоимость за 1шт ("Расчитать первоначальную стоимость"), назначается конкретный инвентарный номер,... а Вы эту первоначальную стоимость еще хотите делить (?).

    И, если уж зашла речь о БГУ, то, как мне представляется, все желаемое реализовано в типовом СКД отчете "Ведомость остатков ОС"; вот и изучите механизм реализации Ваших желаний в нем.
  6. TopicStarter Overlay
    belbuh
    Offline

    belbuh Новичок в 1С

    Регистрация:
    18 июл 2013
    Сообщения:
    46
    Симпатии:
    2
    Баллы:
    4
    Я прекрасно знаю, что в БГУ есть отчет под эти цели (может кому пригодится - называется "Ведомость ОС, НМА").
    Конечно же я его смотрел до того как создать топик.

    Суть в том, что я хочу изучить работу СКД. А что мне непонятно, я спрашиваю.

    Если Вы меня не поняли, то я не знаю как еще объяснить.
    Ну вот покупает учреждение 10 столов по 1000 рублей. Бухгалтер вводит их в эксплуатацию одним документом, заводит элемент справочника ОС - "Стол", задает для него свойство "Групповой учет" и вносит список из 10 инвентарных номеров.
    Можно вывести в отчете данные так:
    Стол - 10 шт. - 10 000 руб.
    Я же хочу каждую инвентарную единицу вывести отдельно.

    Поэтому я хочу реализовать такой алгоритм:
    Если для ОС есть групповой учет, то остаток по дебету счета 101 (это в БГУ, в бух-ии ОС на 01) я делю на количество, чтобы получить стоимость каждой инвентарной единицы этого элемента ОС.

    Я понимаю, что есть вычисляемые поля, где можно посчитать что нужно.
    Но мне нужно выводить эти данные в зависимости от условия (групповой учет).
    Я не знаю как реализовать это.

    Без СКД я просто прохожу по ТЗ результата запроса и накладываю условие, когда вывожу данные макета.
  7. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Необходимо во внешний отчет добавить свою форму отчета.
    На нее кидаете "табличное поле". Свойству "данные" табличного поля присваиваете тип ОтчетОбъект.КомпоновщикНастроек.Настройки.Параметры (или .Отбор).
  8. TopicStarter Overlay
    belbuh
    Offline

    belbuh Новичок в 1С

    Регистрация:
    18 июл 2013
    Сообщения:
    46
    Симпатии:
    2
    Баллы:
    4
    Спасибо большое! Многое прояснилось.

    Меня еще интересует как сформировать свой макет отчета в СКД.
    Т.е. добавить шапку, подвал...
    На рисунке я изобразил, что для примера добавил две области - шапку и подвал.
    Но я понимаю так, что этого мало. Надо еще что-то сделать :)

    Посмотреть вложение 16102


    И еще возник вопрос по поводу совместимости - обычное и управляемое приложение.
    Я так понимаю, что отчет, написанный на СКД будет функционировать и в обычном приложении, и в управляемом при условии, что мы не будем создавать форму. Структуру конфигурации мы не учитываем в примере...
    Правильно ли я понимаю?

    Вложения:

  9. TopicStarter Overlay
    belbuh
    Offline

    belbuh Новичок в 1С

    Регистрация:
    18 июл 2013
    Сообщения:
    46
    Симпатии:
    2
    Баллы:
    4
    Хочу поделиться с начинающими как я решил свою проблему с расчетом значений полей по условию.
    См. рис.
    Посмотреть вложение 16103

    Пример: есть объект ОС с четырьмя инв. номерами (с групповым учетом).
    По нему есть остатки по сумме и количеству, но фактически в отчете нужно показать все инв.номера и стоимость каждого.

    Мы должны создать вычисляемое поле и написать для него выражение:
    Код:
    ВЫБОР
    КОГДА (ИнвентарныйНомер<>"") И (ГрупповойУчет) ТОГДА
    (ПервоначальнаяСтоимость/Количество)
    ИНАЧЕ ПервоначальнаяСтоимость
    КОНЕЦ
    И в итоговом отчете мы можем отображать только вычисляемое поле, а поле "Перв.стоимость" показывать не надо. Оно нужно только для расчета.

    Вложения:

Похожие темы
  1. ASManiak
    Ответов:
    1
    Просмотров:
    1.369
  2. Виль
    Ответов:
    1
    Просмотров:
    1.191
  3. parti
    Ответов:
    19
    Просмотров:
    3.467
Загрузка...

Поделиться этой страницей