1с сохранение настроек формы внешней обработки

Сохранение (чтение) настроек внешней обработки в файл (управляемые формы)

Однако, очень часто обработку нужно проверять на тестовой базе или другом сервере и т.п., поэтому требуется сохранить все значения реквизитов формы (в том числе табличной части) в файл, а потом загрузить из файла уже в другой конфигурации.

То, что это возможно легко понять по намёкам на форумах, однако ни одного законченного решения найти не удалось. Что ж, к этому нам не привыкать, начинаем придумывать велосипед.

Пробуем сначала сохранить значения всех реквизитов формы в файл. Поиски в интернете приводят нас к процедуре ЗначениеВФайл и функции ЗначениеВСтрокуВнутр, приём последней пользоваться как бы не рекомендуется, якобы она предназначена для обмена с 7.7. Обе конструкции языка доступны только на сервере и толстом клиенте, поэтому возникает вопрос, как бы обойти значения всех реквизитов формы &НаСервере.

выдаст вполне ожидаемую не для всех ошибку: Итератор для значения не определен.

Казалось бы, теперь всё просто, однако не совсем. Табличная часть, как и таблица значений имеют не совсем ожидаемый тип значений, их тип ДанныеФормыКоллекция. А ведь они должны быть обязательно выгружены для сохранения, иначе в файле получим только их уникальные индификаторы.

В результате этого знания получаем:

Поэтому переписываем код, сохраняем файл теперь на клиенте, правда придётся воспользоваться не очень рекомендуемой функцией ЗначениеВСтрокуВнутр:

Теперь перейдём к загрузке из файла. Мы не будем использовать, как мы уже выяснили, следующий неправильный код с передачей только имени файла на сервер:

А напишем другой вариант, например, используя временное хранилище:

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

Как видно, вариантов сохранения настроек в файл и чтения настроек из файла очень много, даже в этой статье мы рассмотрели далеко не все, однако эти варианты рабочие и должны сэкономить вам время, когда у вас возникнет такая необходимость.

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

Источник

Сохранение и восстановление пользовательских настроек средствами менеджера Хранилище общих настроек

В публикации представлен шаблон с набором форм для сохранения восстановления пользовательских настроек средствами менеджера хранилища общих настроек

В основной форме (настройки которой вы собираетесь сохранить) две команды Сохранить и Восстановить настройки, которые в свою очередь вызывают соответствующие формы.

В приложенном к публикации файлу сами формы сохранения и восстановления настроек.

Данный инструмент создавался по причине отсутствия внятного инструмента сохранения пользовательских настроек в БП 3.0

Тестировалось на типовой бухгалтерии предприятия 3.0.83.37

Работать будет в любой конфигурации, даже полностью самописной (на управляемых формах)

В обработчике события формы ПриСозданииНаСервере мы получаем настройки сохраненные с пометкой «Использовать при открытии» и применяем их

Далее описание команд сохранения и восстановления настроек

Скачать файлы

Специальные предложения

f71a8c4e70c0ff03708038e2b0210df8

9c2808762ec294cd4c55532520b9c521

895fb1e0f7afc3c0ed0d73bf5ee9d9d0

egais promo

b34b292ed32e9501f98cc31df406353e

789363929b9f37ddc5641a069a5fe52e

5b19cd6c4494a88b2abefce64a1b7565

199e2be4fd21dd8f4209d8ec34616c76

Обновление 22.01.21 13:49

6536fa1dace3acc0a4274735d5959a10

См. также

Альтернативный способ добавления элементов и реквизитов на формы Промо

Предлагаю альтернативный вариант добавления динамически создаваемых элементов и реквизитов на форму.

09.09.2019 17668 34 bmk74 7

Выделение текущей строки в отчете (сделать сразу во всех отчетах и ничего не сломать)

Как за 10 минут упростить работу с отчётами программистам и пользователям. Добавить ВО ВСЕ ОТЧЁТЫ механизм автоматического выделения текущей строки отчёта (той, на которой установлен курсор). И ПРИ ЭТОМ НИЧЕГО НЕ СЛОМАТЬ.

17.10.2021 2252 4 Патриот 48

Самые красивые шахматы для 1С на управляемых формах

Здравствуйте, представляем Вашему вниманию классическую игру – Шахматы! Написана игра средствами 1С, на управляемых формах. Программный код представляет собой с аккуратностью составленную систему, содержащую лаконичные логические приемы и описательные имена переменных, объектов и функций. Программа полностью отлажена и многократно протестирована. Оригинальный авторский дизайн фигур, иконок и кнопок приятен глазу. Игра содержит большое количество функций, настроек и режимов игры, включая сетевую игру, тренировку с ботом или игру на двоих. Не упустите возможность найти ряд технических решений, применимых для реализации различных задач, а также поиграть в вечную игру с отличным оформлением! Желающие научиться программировать на управляемых формах могут многое почерпнуть в этой конфигурации.

18.02.2021 5434 13 compmir 30

Интерактивная справка по объектам 1С (подключаемое расширение)

База знаний, подключаемая к объектам основной базы. Пополняется интерактивно, формируется в виде статей прямо в 1С (текст, картинки, таблицы, ссылки). Есть возможность прикрепления файлов, привязки к объектам 1С, возможности рейтинга и комментирования пользователями.

29.09.2020 15555 82 sapervodichka 45

Расширенная настройка динамического списка УФ Промо

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

31.05.2017 38984 161 tormozit 25

Источник

Программирование в 1С для всех

В этой статье разберем, как работать с сохранением данных на форме в 1С 8.3.

Сохраняемые данные формы 1С

У любой управляемой формы можно настроить сохранение данных реквизитов формы. Это значит, что форма сохранит данные введенные в поля, которые соответствуют реквизитам, при закрытии формы, а при последующем открытии формы информация в этих полях восстановятся автоматически.

Например, у меня на форме обработки имеются поля, данные в которых сохраняются при закрытии формы и восстанавливаются при последующем открытии.

1

Это поля Контрагент и Цена.

Для того, чтобы на управляемой форме данные из соответствующих реквизитов сохранялись, необходимо выполнить следующие действия.

Первое. У свойства формы «Автоматическое сохранение данных в настройках» установить значение «Использовать».

2

Второе. После того, как будет установлено значение в свойство, которое упоминали выше, у реквизитов формы появится колонка «Сохранение». Именно в этой колонке и нужно поставить флажки рядом с теми реквизитами, значения которых мы хотим сохранять при закрытии формы.

3

После этих действий, данные у отмеченных реквизитов будут сохраняться.

Хранилище настроек в 1С

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

Для того, чтобы такая возможность имелась, необходимо в свойстве «Хранилище данных настроек» управляемой формы установить значение «Использовать список».

4

А потом, у нужных реквизитов формы следует установить флаг у свойства «Сохраняемые данные».

5

После таких изменений, у формы в группе Ещё появятся команды «Сохранить параметры» и «Восстановить параметры».

6

Теперь мы можем сохранить любую комбинацию реквизитов Контрагент – Цена.

7

8

И можем восстановить нужную комбинацию в любой момент работы с формой, а не только при открытии.

9

10

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

1C %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D

Книга написана понятным и простым языком — для новичка.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

1C taxi blog

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Источник

Хранилище настроек в 1С 8.3

При работе с программой 1C пользователь может настраивать огромное количество разных вещей. Причем начать можно с настройки сервисной обработки, а закончить формированием разных отчетов и прочего. Для того, чтобы не тратить свое время на постоянную настройку и нудные, повторяющиеся действия, любой параметр можно сохранить. Это позволяет экономить время и силы.

1С: Предприятие имеет весь необходимый функционал, который позволяет сохранять, а в случае необходимости и восстанавливать все заданные параметры. При этом не нужно быть каким-то специалистом и знать уйму команд – все делается короткими командами, которые можно найти в инструкции, интернете или разделе помощи программы.

Приобретя для фирмы программу «1С: Бухгалтерия» и при правильной установке настроек вы сможете сэкономить свое время работая с данной программой. Мы подготовили для вас простую инструкцию, позволяющую самостоятельно быстро настроить программу.

hranilishhe nastroek1

Все хранилища делятся на два вида. Давайте рассмотрим примеры их использования на программе 1С: Бухгалтерия 3.0.

Стандартное хранилище настроек пользователя 1С

В программе есть специальная функция стандартного хранения, которая предустановлена еще на стадии разработки. Если вы выбираете такой вариант, то все установки, которые вы сделаете, будут храниться в таблице ИБ.

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

Стандартное хранилище системой используется в том случае, если поля будут пустыми.

hranilishhe nastroek2

Ниже представлены примеры параметров и кодов, которые может использовать администратор при указании нового места хранилища:

Механизм работы

Как работает «Хранилище настроек»? Оно является объектом метаданных, который пописывает порядок хранения установленных настроек у некоторых объектов. Так, для примера мы откроем программу, «1C: Бухгалтерия», перейдем в конфигурационный режим и развернем дерево данных. Нам понадобится узел, который находится по следующему пути:

hranilishhe nastroek9

Таким образом, разработчик может организовать хранение параметров. Можно указать в свойствах объекта или в свойствах конфигурации о том, что данное место будет использоваться для того, чтобы хранить установленные формы.

Как использовать в обработках и отчетах

Когда мы открываем свойства любого отчета в режиме конфигурирования, то на вкладке «прочее» можем увидеть параметр, который определяет заданное хранилище для сохранения и восстановления установок конкретного отчета.

hranilishhe nastroek10

Для управляемых форм есть два варианта:

hranilishhe nastroek11

Формы отчета и реквизиты

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

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

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

Источник

1С как сохранить настройки внешней обработки

Guesto notes

Пользователи работают с обработкой, в которой часть параметров меняется очень редко, но параметры у каждого пользователя свои. Необходимо организовать сохранение настроек и их восстановление для определенных реквизитов. Сохранение и восстановление выполнять только по кнопкам на форме.

Решение

Для сохранения настроек воспользуемся хранилищем настроек. Если конфигурация позволяет, то можно создать свое хранилище, или же воспользоваться одним из системных. Считаем, что конфигурация типовая(не редактируется), в качестве хранилища будем использовать ХранилищеНастроекДанныхФорм.

В форме определим команду Сохранить настройки, в которой вызовем метод Сохранить() указав ключ объекта, ключ настроек, сами настройки и пользователя:

В форме определим команду Восстановить настройки, в которой спросим про восстановление(пример с вопросом в режиме без модальных вызовов разбирал здесь) и при утвердительном ответе вызовем метод Загрузить() указав ключ объекта, ключ настроек и пользователя:

В итоге у каждого пользователя есть возможность сохранить определенные настройки и при необходимости восстановить их. Можно реализовать сохранение нескольких настроек, если дать возможность указания имени настройки и передавать его при сохранении/восстановлении как ключ настроек.

При работе с внешними обработками/печатными формами нередко возникают случаи, когда в самой обработке используются дополнительные параметры.

В предыдущих версиях типовых (УТ10.3, БП 2.0, ЗУП 2.5) никаких проблем с этим не было, т.к. был механизм Дополнительных параметров, позволяющий сохранять и использовать произвольные параметры при работе с внешней обработкой, однако, в новых версиях (УТ11, БП 3.0, ЗУП 3.1 и т.д.) нас лишили этого удобного механизма.

Ниже предлагается описание одного из способов сохранения и использования произвольных доп.параметров для внешних обработок. Для этой цели воспользуемся объектом «ХранилищеОбщихНастроек».

У этого объекта есть метод

По умолчанию (если параметр не задан) настройки сохраняются для текущего пользователя. Важно понимать, что во-первых, это просто строка, а во-вторых, в случае если у пользователя, вызвашего этот метод есть право «АдминистрированиеДанных» он может работать с настройками других пользователей и мы можем сохранить общие настройки для некого виртуального «пользователя» ВнешниеОбработки, естественно, никакого пользователя ВнешниеОбработки у нас в базе нет, это просто ключ, в разрезе которого мы будем хранить настройки для всех внешних обработок.

в нашем случае ключом будет Имя внешней обработки для которой сохраняем настройки, а – строка «ДополнительныеПараметры»(имя можно придумать любое).
Сами настройки передаются в параметре тип параметра произвольный. Удобнее всего для наших целей использовать структуру.

Вот собственно и все. Далее в самой внешней обработке мы сможем считать настройки с помощью метода

Для удобства работы с доп.параметрами можно создать отдельную обработку с помощью которой устанавливать/копировать настройки для любой внешней обработки из тех, что используются в нашей базе.

Буду рад, если кому-то пригодится этот прием в работе. Также,если после прочтения остались вопросы с удовольствием отвечу на них в комментариях.

В работе службы сопровождения 1С нередко возникают ситуации, когда нужно обеспечить отсутствие пользователей в базе для проведения каких-то регламетных процедур или сервисных работ. Некоторые такие процедуры должны выполняться регулярно, и было бы удобно настроить расписание установки блокировки на вход в информационную базу.

1) Создание обработки «Блокировка работы пользователей» для запуска по расписанию

Не секрет, что с некоторых пор в типовых конфигурациях 1С появилась возможность запуска дополнительных обработок по расписанию.

Для этого в модуле внешней обработки в процедуре СведенияОВнешнейОбработке добавляем команду с вариантом использования «ВызовСерверногоМетода»

Также добавляем в модуль процедуру «ВыполнитьКоманду(ИдентификаторКоманды)», которая будет обрабатывать вызов нашего серверного метода

В процедуре «ВыполнитьУстановку» будем заполнять необходимые реквизиты блокировки и затем вызывать процедуру глобального контекста «УстановитьБлокировкуСеансов».

Теперь все готово для того, чтобы зарегистировать нашу обработку в списке дополнительных отчетов и обработок и настроить расписание запуска

scr1

Итак, теперь у нас есть обработка, которая запускается по расписанию и устанавливает блокировку работы пользователей.
Все здорово, кроме одного: параметры нашей блокировки (время начала, время окончания, текст сообщения для пользователей и т.д.) нам пришлось прописать непосредственно в коде обработки, соответственно, когда появится необходимость эти параметры поменять – нам придется менять код обработки и заново регистрировать ее.
Не очень красивое решение. Для решения этой проблемы создадим механизм, который позволит сохранять для нашей обработки произвольный набор параметров.

2) Сохранение произвольных параметров для дополнительных обработок

Для сохранения настроек воспользуемся объектом «ХранилищеОбщихНастроек» и его методом

По умолчанию (если параметр не задан) настройки сохраняются для текущего пользователя. Однако, если у пользователя, вызвашего этот метод
есть права «АдминистрированиеДанных» он может работать с настройками других пользователей и к тому же ИмяПользователя это просто строка – этим-то мы и воспользуемся для решения своей задачи:
мы будем сохранять настройки для «пользователя» ДополнительныеОбработки(естественно никакого пользователя ДополнительныеОбработки у нас в базе нет, это просто ключ, в разрезе которого мы будем хранить настройки для внешних обработок)

в нашем случае ключом будет Имя внешней обработки для которой сохраняем настройки, а – строка «ДополнительныеНастройки»(имя можно придумать любое).
Сами настройки передаются в параметре тип параметра произвольный. Для нашей задачи мы будем использовать, структуру.

Вот собственно и все. Теперь создаем еще одну внешнюю обработку «СохранениеНастроекДопОбработок» и делаем в ней удобную форму для работы с нашим методом «Сохранить».
На форме будем выбирать внешнюю обработку из списка зарегистрированных в базе, а в табличной части будем указывать настройки, которые хотим сохранить в виде «ИмяНастройки-ЗначениеНастройки».

scr3

Теперь остается в обработке блокировки пользователей считать сведения о настройках для нашей обработки

прочитать настройки на основании полученных сведений и заполнить реквизиты обработки полученными значениями

scr4

В качестве примера реализации описанного выше подхода во вложении приведены обработки:

1. Внешняя обработка «Сохранение настроек доп.обработок» – сохраняет произвольный перечень параметров для выбранной на форме дополнительной обработки.

2. Внешняя обработка «Блокировка пользователей (автозапуск)» – позволяет запускать обработку блокировки по расписанию и считывать сохраненные для обработки настройки.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с состав видов субконто на этом счете определяется настройкой плана счетов
  • 1с сортировка табличной части по колонке управляемые формы