Имя: Пароль:
1C
1С v8
Необязательный параметр СКД(для вывода в отчет)
0 NikePopov
 
25.11.14
15:50
Добрый день!

Задачка:
Есть ОСВ(по складу). Написана на СКД. Запрос - один регистр(ОстаткиНаСкладах) у него и обороты и сальдо(начальное и конечно).
Есть параметры "НачалоПериода" и "КонецПериода", оба необязательные. Если их не указывать - всё хорошо.
Но вот захотел я в шапке указать свой макет, в одно из ячеек которой: "Оборотно-сальдовая ведомость по складу [Склад]
за период с [НачалоПериода] по [КонецПериода]".
В параметрах макета установил соответствия между параметрами СКД и параметрами области.
В результате - при формировании отчета ругается, что не заполнены параметры "НачалоПериода" и "КонецПериода". Есть ли хороший метод от этого избавиться?

Из вариантов, которые я нашел:
Создать параметр "НачалоПериодаПечать" и "КонецПериодаПечать" у которых формула: "ВЫБОР КОГДА ЗначениеЗаполнено(&КонецПериода) ТОГДА Формат(&КонецПериода, "ДЛФ=DD") ИНАЧЕ "" КОНЕЦ". Такой вариант решает проблему, но мне не хочется его использовать в дальнейшей разработке из-за "хлипкости" метода.

Кто-нибудь с таким сталкивался?
1 NikePopov
 
25.11.14
16:29
Ап!
2 mikecool
 
25.11.14
16:33
Использовать доступный параметр пользователю "Период", тип СтандартныйПериод
Скрытые параметры  [НачалоПериода] и [КонецПериода], которые заполняются датой начала и окончания из Период
3 NikePopov
 
25.11.14
16:43
В общем, конечно, такой вариант хорош, но вот вопрос более общий:
в следующем отчете у меня надо будет так же поступить с параметрами "Подразделение", "Склад" и т. д. Нет способа обойти именно "необязательность параметра". Не подменить его другим, а отработать, даже если он не задан?
4 Fragster
 
гуру
25.11.14
16:54
(3) да
5 Fragster
 
гуру
25.11.14
16:54
есть и отбор и необязательные параметры
6 Fragster
 
гуру
25.11.14
16:55
со складом и прочими - лучше отбор
7 Fragster
 
гуру
25.11.14
16:55
тогда пользователи смогут сделать "склад в списке", например
8 Fragster
 
гуру
25.11.14
17:07
необязательный параметр:
ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Склад,
    ТоварыНаСкладахОстатки.Номенклатура,
    ТоварыНаСкладахОстатки.КоличествоОстаток
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(, {(Склад = &Склад)}) КАК ТоварыНаСкладахОстатки

Отбор:
ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Склад,
    ТоварыНаСкладахОстатки.Номенклатура,
    ТоварыНаСкладахОстатки.КоличествоОстаток
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(, {(Склад).*}) КАК ТоварыНаСкладахОстатки
9 NikePopov
 
25.11.14
17:16
(8) Бесспорно отличный вариант отбора. Но вопрос немного в другом:
Есть необязательный параметр для заполнения и его надо ВЫВЕСТИ. Дело в том, что подразделение не обязательно для заполнения из-за функциональной опции "Используются подразделения". Если данная функциональная опция равна Ложь, подразделение не может быть заполнено. Но вот в печатной форме графа "Структурное подразделение" никуда при этом не девается. И печатается всё равно по одному(кто ведет). Дело в том, что с тех пор как оно ПЕЧАТАЕТСЯ оно стало обязательным...
10 Fragster
 
гуру
25.11.14
17:25
(9) пока так: проставить у параметра "ИСпользование всегда" ну а в запросе Выбор Когда &Склад = Значение(Справочник.Склады.ПустаяСсылка) Тогда Истина Иначе Склад = &Склад Конец

хотя возможно это и не оптимально
11 Fragster
 
гуру
25.11.14
17:26
ну, или убирать из выбранных полей отчета структурное подразделение, если это возможно
12 NikePopov
 
25.11.14
17:27
(11) К сожалению нельзя.
Ясно. Всем спасибо!
AdBlock убивает бесплатный контент. 1Сергей