Выбор вариантов отчета в "Управление торговлей" ред. 11

Программирование - Работа с интерфейсом

37
В УТ 11 в свойствах конфигурации задано хранилище вариантов отчетов.
Исходя из этого, все отчеты будут использовать для своих вариантов именно это хранилище (если, конечно, в свойствах самого отчета не задано другое хранилище).
По сути, все варианты для отчетов находятся в справочнике "Варианты отчетов", который заполняется при первом запуске системы.
Вполне очевидно, что если Вы создаете свой отчет (внешний или внутренний) с несколькими вариантами, у Вас не будет возможности выбирать нужный вариант (переключаться между вариантами), т.к. в выше указанном справочнике нет никакой информации о вариантах созданного Вами отчета.

В этой небольшой статье я покажу один из способов решения данной проблемы.


ВНИМАНИЕ!

Начиная с версии 11.0.8 конфигурации "Управление торговлей" (а так же и в отношении других конфигураций), данная статья теряет актуальность. Для выбора вариантов отчета больше не требуется предпринимать никаких дополнительных действий.

 

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

 

Итак, предположим, я разработал некий отчет с использованием системы компоновки данных. Назовем его "Моя ведомость по товарам". В схеме компоновки данных определил два варианта отчета: "ОстаткиТоваров" и "ДвиженияТоваров".

Варианты отчета в схеме компоновки данных

Открываем отчет в пользовательском режиме. Видим, что открылся вариант "Остатки товаров на складе".

Вероятно, потому что он идет первым в схеме компоновки. Переключиться на вариант "Движения товаров по складу" мы не можем. Форма выбора варианта пуста. Именно эту проблему мы и пытаемся решить :-)

Что нам надо сделать...

Надо сохранить этот вариант отчета, используя меню Все действия - Сохранить вариант. Сохраним его под именем "Остатки товаров на складе". Таким образом, этот вариант попадет в справочник "Варианты отчетов".

А теперь (!Внимание!) еще раз сохраняем этот же вариант, но уже под именем "Движения товаров по складу". Думаю, понятно, что переключатель при этом надо установить на "Создать новый вариант отчета".

Благодаря этому, теперь мы можем выбирать нужный нам вариант из двух имеющихся.

Выбор варианта отчета в пользовательском режиме

Очевидно, что сейчас большой пользы от этого нет, т.к. по сути, это один и тот же вариант, просто под разными названиями. Зато для каждого из названий в справочнике "Варианты отчетов" появился соответствующий элемент.

Сейчас нам надо у обоих этих элементов справочника изменить значение реквизита "КлючВарианта" (это строковый реквизит). Сейчас там что-то типа такого: "5ba619cb-3851-4ced-94be-fa20c74ce297". Нам надо в этот реквизит записать имя варианта отчета как оно задано в конфигураторе в схеме компоновки данных.

Т.е. для элемента справочника "Остатки товаров на складе" ключ варианта устанавливаем "ОстаткиТоваров". Для элемента "Движения товаров по складу" ключ варианта - "ДвиженияТоваров".

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

Вот и всё! )) Теперь у нас есть возможность выбирать варианты нашего отчета.

 

Немного о других конфигурациях

Для большей информации хочется затронуть конфигурацию "Управление небольшой фирмой".

Там в свойствах конфигурации не задано хранилище вариантов отчетов. Оно задается непосредственно в свойствах самого отчета. Поэтому для самописного отчета с выбором варианта не будет никаких проблем.

Если же Вы сохраняете типовой отчет как внешний, то надо просто в свойствах сохраненного отчета очистить свойство "Хранилище вариантов".

 

Спасибо за внимание ))

37

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. serega3333 20.07.12 16:10 Сейчас в теме
вот только щас с этой штукой боролся, спасибо, хотя странно что так криво все, может в 1С как то по другому планировали работу с внешними отчетами и вариантами...или это тупо недоработка временная
2. Поручик 4152 08.09.12 14:21 Сейчас в теме
(0) (1) В релизах Управление торговлей 11.0.8 и позднее уже не актуально. В этих версиях появилась возможность задавать и выбирать варианты отчетов в пользовательском режиме без всяких извратств. http://infostart.ru/public/150107/

В Управлении небольшой фирмой, редакция 1.4.2.22, такая возможность тоже есть. В Рознице 2.0.4.5 проверять лениво.
1cUserAndrew; +1 Ответить
3. 1cUserAndrew 60 09.09.12 18:06 Сейчас в теме
(2) Это радует :)

Да, УНФ я упомянул.
А в Рознице проверять лениво :) Но что-то подсказывает, что и там все нормально.)
4. Поручик 4152 09.09.12 18:40 Сейчас в теме
(3) Там тоже с этим нормально. Сегодня чисто для любопытства выдернул штатный отчет как внешний и глянул.
1cUserAndrew; +1 Ответить
5. Shurik 117 15.11.12 16:28 Сейчас в теме
УТ 11.0.7.21
Отчет.ВыручкаИСебестоимостьПродаж
В пользовательском режиме настроил и сохранил несколько вариантов. Другие пользователи видят эти варианты, но при выборе отчет все равно формируется по основному варианту. В справочнике Варианты отчетов написать имя варианта отчета как оно задано в конфигураторе в скд не могу, т.к. этот вариант отсутствует в конфигураторе. Есть ли выход? Или только добавлять варианты в конфигураторе?
6. 1cUserAndrew 60 18.11.12 14:44 Сейчас в теме
А как настраивали варианты?

Попробуйте через меню "Все действия" - "Изменить вариант".
После этого сохраняйте измененный вариант (Все действия - Сохранить вариант). Или просто закрывайте отчет, система сама предложит сохранить вариант.
7. Shurik 117 22.11.12 12:23 Сейчас в теме
Сначала делал через кнопку Настройка, потом Сохранить вариант.
И делал через Все действия - Изменить вариант - Сохранить вариант.
В обоих случаях при открытии варианта другим пользователем отображается настройка Валовая прибыль (группировка Партнер - Номенклатура).
8. 1cUserAndrew 60 24.11.12 10:30 Сейчас в теме
(7)
Сначала делал через кнопку Настройка, потом Сохранить вариант.

Так не получится.
Это настройка пользовательских настроек.

И делал через Все действия - Изменить вариант - Сохранить вариант.

А вот так должно работать.
Я пробовал - работает.
9. 1cUserAndrew 60 24.11.12 10:50 Сейчас в теме
Под другими пользователями тоже работает.

Может у Вас под другими пользователями какие-то свои пользовательские настройки установлены?
(хотя, вроде, и не должно быть)
Ну на всякий случай попробуйте, когда открываете отчет под другим пользователем, после выбора варианта нажать "Все действия - Установить стандартные настройки".
10. Shurik 117 30.11.12 11:41 Сейчас в теме
Да, после Установить стандартные настройки заработало! Спасибо!
11. Lo1jke 25.11.13 10:51 Сейчас в теме
(0) Столкнулся с проблемой в одном из старых релизов УНФ. Скажите пожалуйста, где упомянутое в конце статьи "Хранилище вариантов" для отчета?
12. 1cUserAndrew 60 25.11.13 11:55 Сейчас в теме
(11)
Здесь:
Прикрепленные файлы:
13. Lo1jke 25.11.13 13:31 Сейчас в теме
(12) Спасибо большое, то что нужно.
14. Melnikovbk 27.03.14 18:17 Сейчас в теме
Знатоки а подскажите пожалуйста, Управление торговлей, редакция 11.1 (11.1.4.10)

создал отчет в конфигураторе, в скд добавил 2 вида варианта отчета (по номенклатуре и по пользователю), но при выборе варианта пусто, если после 08 релиза что то поменяли и они должны отображаться без финта ушами... тогда что я делаю не так
15. 1cUserAndrew 60 28.03.14 10:30 Сейчас в теме
(14) Только что проверил, - все ОК. Варианты выбираются без всяких финтов.
16. 1cUserAndrew 60 28.03.14 10:54 Сейчас в теме
Такой вопрос: конфигурация типовая?
Случайно ничего не меняли в свойствах конфигурации (в свойствах корня дерева конфигурации), например свойство "Хранилище вариантов отчетов"? Или в свойствах самого отчета посмотрите, не задано ли там какое-нибудь другое хранилище вариантов.
17. Santa4527 01.07.14 16:28 Сейчас в теме
УТ 11.1.4.10
Хранилище вариантов в отчете совпадает с тем что указано в конфигурации. Но все равно проблема осталась! Варианты нет.
18. 1cUserAndrew 60 01.07.14 18:40 Сейчас в теме
(17) Даже не знаю, что сказать. У меня варианты присутствуют в данной версии.
Можете отчетик скинуть. Будет время, попробую посмотреть.
19. Zykov.v 13.01.16 02:52 Сейчас в теме
проблема решается проще:
открываем в конфигураторе <Сервис>-><Параметры>-><Запуск 1С:Предприятия>-><Основные> и в поле "Параметры запуска" вписываем вот это ->"ЗапуститьОбновлениеИнформационнойБазы". Жмем <OK> и запускаем <F5>. После запуска отключаем то, что сделали.

Не балгодарите)
21. Raduga 02.09.16 00:08 Сейчас в теме
(19) Zykov.v, либо еще проще: в ярлыке прописывем "/C ЗапуститьОбновлениеИнформационнойБазы", запускаем в режиме Предприятия - вуаля!
В статье неверная информация - проблема до сих пор встречается в некоторых конфигурациях, например 1С:Документооборот 1.4.
22. 1cUserAndrew 60 18.10.16 16:04 Сейчас в теме
(19)
Не балгодарите)

(21)
вуаля!

Друзья, вы, конечно, правы.
Но, все же статье 4,5 года.
Даже если в то время и была возможность решить эту проблему запуском обновления информационной базы, то это все равно не решало данную проблему касательно вариантов внешних отчетов.

Раз уж и сегодня мы говорим о способах решения, добавлю еще, что среди инструментов разработчика (поставляются с БСП) есть обработка по обновлению вспомогательных данных, с помощью которой также решается данная проблема.
20. 7OH 31 24.03.16 12:24 Сейчас в теме
Похожая ситуация решилась правкой кода формы в ХранилищеОтчетов - для внешних отчетов внутренние варианты добавлялись в список, а вот внутренние отчеты просто игнорировались.
функция ДобавитьВариантыВнешнегоОтчета
Было
СтрокаВнешнийОтчет = "ВнешнийОтчет.";
	ДлинаСтрокиВнешнийОтчет = СтрДлина(СтрокаВнешнийОтчет);
	Если Лев(КлючОбъекта, ДлинаСтрокиВнешнийОтчет) <> СтрокаВнешнийОтчет Тогда
		Возврат;
	КонецЕсли;
	
	Попытка
		ВнешнийОтчет = ВнешниеОтчеты.Создать(Сред(КлючОбъекта, ДлинаСтрокиВнешнийОтчет + 1));
	Исключение
Показать

Стало
СтрокаВнешнийОтчет = "ВнешнийОтчет.";
	ДлинаСтрокиВнешнийОтчет = СтрДлина(СтрокаВнешнийОтчет);
	ЭтоВнешнийОтчет = Истина;
	Если Лев(КлючОбъекта, ДлинаСтрокиВнешнийОтчет) <> СтрокаВнешнийОтчет Тогда
		//Возврат;
		ЭтоВнешнийОтчет = Ложь;
	КонецЕсли;
	
	Попытка
		Если ЭтоВнешнийОтчет Тогда
			ВнешнийОтчет = ВнешниеОтчеты.Создать(Сред(КлючОбъекта, ДлинаСтрокиВнешнийОтчет + 1));
		Иначе
			ВнешнийОтчет = Отчеты[СтрЗаменить(КлючОбъекта,"Отчет.","")].Создать();
		КонецЕсли;
	Исключение
Показать
shevelyov; +1 Ответить
23. shevelyov 58 11.11.16 17:51 Сейчас в теме
(20) 7OH, Спасибо, ковыряю старую базу, наткнулся на эту проблему, Вы очень помогли.
24. ulen 57 14.02.17 12:07 Сейчас в теме
УТ 11.2, проблема постоянная, если добавить во внешний отчет новый вариант через конфигуратор он не отображается, помогает только переименование внешней обработки в ее описании. Другого способа не нашел.
Оставьте свое сообщение