Не сохраняется вариант отчета 1с
Как я уже писал ранее, сделал клиенту в УТ отчет, где подменил схему компоновки данных. Все работало хорошо, но не сохранялись настройки в варианте.
Проявлялось это так — если в настройках добавить поле «Остаток», то отчет формировался. Если сохранить вариант, потом переключиться на другой, потом вернуться на сохраненный, поле тоже показывалось.
Но если закрыть отчет и открыть сохраненный вариант, поля не было.
Я предполагал, что разбирательства будут долгими, так оно и оказалось. Работы были гарантийными, но мне было интересно, в чем проблема. Так можно было просто подменить макет через расширение макета, но хотелось докопаться до истины.
Вообще, был интересен вопрос — вариант сохраняется криво, без моего поля или же при восстановлении варианта происходит сбой.
Сейчас я понимаю, что надо было просто проверить, есть ли поле в настройках компоновщика при компоновке отчета из сохраненного варианта.
Но я пошел другим путем, не самым быстрым.
Я сделал замер производительности при сохранении варианта и нашел, где создается схема компоновки данных:
И вот тут я увидел, что в тексте запроса компоновки нет поля «Остаток», который я добавил (смотрите табло внизу):
Я отладил и нашел, где создается объект отчета:
В итоге я решил добавить событие, чтобы при создании отчета обновлялась компоновка данных.
В модуле ВариантыОтчетов:
В модуле отчета ВыручкаИСебестоимостьПродаж:
После этого в компоновке появилось мое поле остаток:
Дальше я решил проверить, как загружаются настройки при открытии отчета, нашел вот эту функцию, где опять же создавался объект отчета, похоже со стандартной схемой компоновки (не измененной):
По стеку сложно было привязаться к каким либо событиям:
Поэтому я решил привязаться к событию ЗагрузитьНастройкиВКомпоновщик:
Код выглядел примерно так:
Однако почему-то ЗначениеВРеквизитФормы выдавало ошибку, ругаясь на второй параметр. В общем, отладка показала, что ничего в запросе схемы компоновки не меняется, он остается без поля остаток.
Но тут я все же отладил загрузку варианта. Чтобы отлаживать не в фоновом режиме, я использовал запуск 1С с параметром РежимОтладки.
Я обнаружил, что настройка варианта загружается нормально, т.е. в списке полей настройки есть поле Остаток. Т.е. все предыдущие доработки были зря, потому что и без них вариант сохранялся и загружался нормально.
Настройки пропадают где-то при формировании отчета в коде самого отчета:
Дальнейшая проверка показала, где пропадает настройка:
Вот в этом коде настройки корректные:
А вот в этом коде поля Остаток уже нет:
Я добавил строчку для подмены настроек и отчет сформировался корректно:
Но мне не нравилось, что приходится менять код отчета. Поэтому я немножко поэкспериментировал и обнаружил, как можно привести настройки в адекватное состояние.
По сути, проблема сохранения варианта решается одной дополнительной строчкой кода в расширении, вот она:
Почему сбоят настройки, т.е. почему ПолучитьНастройки и Настройки одного и того же объекта выдают разные значения, я так и не понял. Я пробовал и метод ВосстановитьНастройки и добавлял инициализацию настроек в компоновщике настроек после подмены схемы компоновки, ничего не помогло. Видимо, это фича 1С.
Ошибкой было еще предположение, что где-то схема используется не измененная, поэтому настройки не сохраняются. Нужно было проверить настройки при компоновке отчета, тогда бы я увидел, что они уже там правильные, но сбрасываются из-за этой фичи.
Дело в том, что 1С всегда вызывает событие перед загрузкой настроек отчета, а там уже моё изменение схемы есть. Поэтому я по сути большую часть времени потратил на поиски фантомной ошибки, которой на самом деле не было.
Разборки показали, что проблема в пользовательских настройках, именно они при старте отчета не содержат поля остаток.
Я попробовал так, но не помогло:
Поле ДоступныеНастройки.ПользовательскиеНастройки.Элементы[3].Элементы не содержит поле Остаток:
Похоже, что пользовательские настройки отчета были модифицированы ранее.
Более детальный анализ показал, что настройки загружаются в событии формы перед загрузкой пользовательских настроек:
Поэтому нужно при создании формы отчета подменить схему компоновки.
Вот так заработало:
Но так не годится — это вмешательство в код.
Поэтому переношу код в расширение, таким образом, в расширении формы отчета достаточно такого кода (достаточно вызвать только при создании):
Ну и в расширении модуля отчета по валовой прибыли необходимый код такой:
Перед загрузкой настроек в компоновщик тоже надо обрабатывать, иначе не срабатывает.
Время факт: 3 час. Среда: УТ 11.4.13.46
Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.
Свойство отчета "Хранилище вариантов" не заполнено.
Сохранение (выбор) вариантов отчета будет работать в ограниченном режиме.
Обратитесь к разработчику дополнительного (внешнего) отчета.
Ошибка при подключении внешнего отчета 1С
Для чего нужно хранилище вариантов отчета
Между тем, типовые конфигурации 1С (далее рассмотрим на примере 1С: Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.15.40)) имеют удобный механизм хранилища вариантов отчетов. Он позволяет сохранять варианты отчетов, а также сделать их доступными другим пользователям. Доступные варианты отчета будут видны как в самой форме отчета, так и в типовой разделе «Отчеты». Ниже пример вывода в форме «Кадровые отчеты» различных настроек для отчета «Личные данные сотрудников». Теперь каждый пользователь имеющий право использования данного отчета сможет открыть нужную настройку отчета и сформировать его.
Пример сохраненных вариантов отчетов 1С
Настраиваем свойство «Хранилище вариантов» для внешних отчетов
1С позаботилась о разработчиках и предоставила им возможность без лишних доработок использовать данный механизм в своих внешних отчетах.
1. Открываем палитру свойств нашего внешнего отчета как показано на картинке ниже:
2. В свойстве «Хранилище вариантов» выбираем хранилище настроек с именем «ХранилищеВариантовОтчетов»
Выбираем хранилище вариантов
Сохраняем вариант отчета для других пользователей
После подключения нашего внешнего отчета в конфигурацию, открываем его. Например, вы внесли какие-то изменения в структуру отчета в пользовательском режиме и хотим поделиться этим вариантом с другими пользователями.
1. Для этого, выбираем типовую команду «Сохранить вариант отчета»:
Сохранение варианта отчета для других пользователей
2. Указываем наименование нашей настройки отчета «Отчет о передаче мероприятий СЗВ-ТД — без уволенных». Ставим переключатель «Доступен» в положение «Всем пользователям». Нажимаем кнопку «Далее».
3. Указываем раздел, в который хотим поместить нашу настройку отчета, например, «Кадры». Пишем описание для варианта отчета, если надо и сохраняем.
4. Теперь наш вариант отчета доступен другим пользователям как в самом отчете:
Пример выбора настройки внешнего отчета 1С
Так и в разделе «Отчеты» в ветке «Кадры»
Вариант внешнего отчета 1С в разделе Отчеты
Итоги
После нехитрых настроек наш внешний отчет теперь может работать с типовым хранилищем вариантов отчетов. Это позволит сохранять различные настройки внешнего отчета в хранилище и давать доступ к ним для других пользователей 1С.
Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.
Наш релиз Альфа-Авто: Автосервис+Автозапчасти. Редакция 4.1 (4.1.01.10) ,я читал об FAQ об этой проблеме и в курсе что в новых релизах это решили, так как на этапе внедрения конфигурация было сильно изменена в данный момент идет подготовка к обновлениям. Как решить данную проблему сейчас,чтобы настройки отчетов не сбрасывались, так как планируемый переход 01.01.2011.
Замените в общем модуле оОтчеты функцию отОтчетПослеВосстановленияЗначений() на функцию из прикрепленного файла.
Текущую функцию отОтчетПослеВосстановленияЗначений() не удаляйте закомментируйте, вдруг понадобится ее восстановить.
хм. а вот это интересно. у наших пользователей какое-то время все в порядке, настройки есть, а потом в один прекрасный момент они слетают. Основные "слёты" были замечены после обновления базы, не динамического, т.е. я всех выгоняю из базы, не исключено, что я их отрубаю насильно. Значит может быть тоже не корректное завершение работы.
Расскажите немного подробней, настройки отчетов слетели при переходе на новый релиз или обновлении базы?
У пользователей не сохранились настройки только текущего сеанса?
Настройки слетели у всех пользователей?
Настройки слетели у всех отчетов?
Замечено точно слетают настройки после обновления базы у некоторых пользователей, вроде у всех отчетов. Иногда жалуются что слетают настройки, а обновлений не было (вроде. )
Сейчас сделано сохранение отчетов методами самой платформы.
Зафиксировал пожелание под номером С0104357. Срок реализации неограничен.
Если интересно привожу статью из ИТС "Сохранение параметров настроек пользователя между сеансами".
Сохранение параметров настроек пользователя между сеансами
1С:Предприятие поддерживает сохранение различных настроек пользователя между сеансами запуска 1С:Предприятия. К таким настройкам относятся, например, размеры и положение окон, настройки колонок табличных полей, настройки отчетов и т.д. Разработчик конфигурации также может выполнять сохранение средствами встроенного языка значений, являющихся, по своей сути, параметрами настройки пользователя.
Следует отметить, что к параметрам настройки пользователя относятся значения не являющиеся существенными для логики работы системы. Они предназначены для повышения удобства работы пользователей, но не для обеспечения решения самих задач прикладного решения. Соответственно эти значения не хранятся непосредственно в информационной базе. Они не сохраняются при создании резервной копии.
Параметры настройки сохраняются 1С:Предприятием по-разному в зависимости от назначения параметра. Например, параметры, связанные с экранными характеристиками компьютера, хранятся так, чтобы действовать только в пределах данного компьютера, а параметры связанные только с данными и не имеющими отношение к компьютеру хранятся таким образом, чтобы быть доступными при запуске пользователем системы с любого компьютера. Параметры, связанные с конфигурированием сохраняются независимо от информационной базы, так как считается, что разработчик может работать с несколькими информационными базами и несколькими конфигурациями. Параметры работы пользователя в режиме 1С:Предприятия сохраняются для конкретной информационной базы и конкретного пользователя.
Далее описывается расположение файлов, в которых сохраняются различные параметры настройки. Эта информация приводится только в качестве описания работы системы. Не следует осуществлять доступ к данным файлам какими-либо средствами. Механизм сохранения параметров настройки поддерживается системой автоматически и не управляется разработчиком или администратором.
Параметры работы пользователей, сохраняемые между сеансами, хранятся в следующих разрезах:
компьютер, на котором запускается 1С:Предприятие;
информационная база;
пользователь информационной базы.
Для различных параметров используются различные разрезы хранения.
Примеры каталогов приведены для операционных систем Windows2000/XP.
Общее для файлового и клиент-серверного вариантов
Каталог:
C:\Documents and Settings\\Application Data\1C\1Cv8\
Файлы:
1Cv8strt.pfl - параметры диалога выбора информационной базы
1Cv8.pfl - параметры для компьютера
1Cv8cmn.pfl - общие параметры для компьютера, используемые в Конфигураторе
Каталоги информационных баз:
C:\Documents and Settings\\Application Data\1C\1Cv8\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\
Файлы:
1Cv8.pfl - параметры для компьютера и информационной базы
Каталоги пользователей информационных баз:
C:\Documents and Settings\\Application Data\1C\1Cv8\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\
Файлы:
1Cv8.pfl - параметры для компьютера, информационной базы, пользователя;
1Cv8cmn.pfl - общие параметры для компьютера, используемые в 1С:Предприятии.
Для файлового варианта
Каталоги информационных баз
Файлы:
1Cv8.pfl - параметры для информационной базы, а также параметры для информационной базы и пользователя, не зависящие от компьютера пользователя.
Для клиент-серверного варианта
Компьютер, работающий в качестве сервера 1С:Предприятия
Каталоги информационных баз
C:\Documents and Settings\All Users\Application Data\1C\1Cv8\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\
Файлы:
ib.pfl - параметры для информационной базы, не зависящие от компьютера пользователя;
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.pfl - параметры для информационной базы, пользователя, не зависящие от компьютера пользователя.
Как в ЗУП 3 сохранить понравившийся вариант отчета?
Рассмотрим ситуацию на примере настроенного отчета по начисленным взносам по сотрудникам в разрезе подразделений, созданного на основе отчета Бухучет зарплаты ( Зарплата – Отчеты по зарплате — Бухучет зарплаты ) – см. подробности в публикации Какой отчет можно сформировать по начисленным взносам по сотрудникам в разрезе подразделений?
Для сохранения настроенного варианта отчета можно нажать кнопку Еще – Варианты отчета – Сохранить вариант… :
или на панели кнопок над окном вывода отчета нажать кнопку Выбрать другой вариант отчета или сохранить новый – Сохранить вариант отчета… :
В открывшейся форме на первом шаге дадим наименование отчету и настроим доступность его для пользователей (в нашем примере отчет будет виден всем пользователям):
По кнопке Далее перейдем к следующему шагу:
Здесь предлагается указать в каком разделе будет располагаться настроенный вариант отчета. В нашем примере помимо раздела Зарплата , установленного по умолчанию, добавим еще отчет в группу Страховые взносы раздела Налоги и взносы :
После этого сохраненный вариант отчета можно будет открыть непосредственно из раздела Зарплата — Отчеты по зарплате или Налоги и взносы — Отчеты по налогам и взносам :
Также вариант отчета можно вызвать из отчета Бухучет зарплаты по кнопке Выбрать другой вариант отчета или сохранить новый :
Или же вызвать его по кнопке Еще – Варианты отчета :
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Для просмотра на полный экран кликайте на иконку в нижнем..Электронный больничный лист, загруженный в ЗУП 3 в Больничный лист..
(3 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Пошаговая инструкция сохранения настройки отчета в файл.
Шаг 1. Откройте Универсальный отчет в разделе Отчеты — Стандартные отчеты — Универсальный отчет .
Шаг 2. Вызовите команду Изменить вариант отчета : кнопка ЕЩЕ — Прочее — Изменить вариант отчета…
Шаг 3. Из формы изменения варианта настройки вызовите команду Сохранить настройки : кнопка ЕЩЕ — Сохранить настройки .
Шаг 4. В форме сохранения настройки в файл укажите:
- Имя файла — название настройки, например, Переходящие договоры;
- Тип файла — Документ XML (*.xml).
Настройки Универсального отчета сохранены в файл Переходящие договоры.xml.
Загрузить настройки
Используя сохраненную в файл настройку Универсального отчета , можно загрузить на другие компьютеры и базы данных.
Пошаговая инструкция загрузки настроек Универсального отчета из файла.
Шаг 1. Откройте Универсальный отчет в разделе Отчеты — Стандартные отчеты — Универсальный отчет .
Шаг 2. Вызовите команду Изменить вариант отчета : кнопка ЕЩЕ — Прочее — Изменить вариант отчета…
Шаг 3. Из формы изменения варианта отчета вызовите команду Загрузить настройки : кнопка ЕЩЕ — Загрузить настройки .
Шаг 4. Выберите файл настройки для загрузки.
Шаг 5. Нажмите на кнопку Завершить редактирование .
Шаг 6. По кнопке Сформировать сформируйте отчет с загруженными настройками.
Для того чтобы каждый раз не пришлось загружать настройки отчета БухЭксперт8 советует сохранить настройки отчета в 1С по кнопке Сохранить вариант отчета .
После ввода наименования настройки, например Переходящие договоры нам не придется каждый раз настраивать отчет заново. По кнопке Выбрать настройки достаточно выбрать сохраненную настройку.
См. также:
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
В ЗУП 3 реализованы следующие возможности.В данной статье мы расскажем о том, как с помощью..У вас нет доступа на просмотр Чтобы получить доступ:Оформите коммерческую.
(7 оценок, среднее: 4,43 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
У меня вопрос, пока я еще на версии 2.5. У меня там настроен очень удобный универсальный отчет, который я бы хотела перенести в версию 3, когда туда перейду. А переходить намерена с нового года. Поможете?
Здравствуйте!
Постараемся. Опишите пожалуйста Ваш настроенный Универсальный отчет из 2.5 в разделе «Задать вопрос»: Личный кабинет (вкладка «Мои вопросы» — «Задать вопрос»). Постараемся подсказать на основе каких регистров настроить этот отчет в ЗУП 3.
Читайте также: