Как убрать наименование в 1с
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример использования
Пример кода с использованием метода Удалить() :
Платформа 1С:Предприятие позволяет программно добавлять и изменять элементы управляемой формы. Разберемся для чего это может потребоваться.
Программная модификация формы может потребоваться в нескольких случаях:
- При доработке типовых конфигураций для облегчения процедуры последующего обновления. В этом случае будет изменен только модуль формы. Модули намного проще обновлять, чем форму.
- При реализации некоторых общих алгоритмов. Например, в подсистеме БСП «Запрет редактирования реквизитов объектов» для всех подключенных к подсистеме объектов предусмотрено программное создание кнопки для включения возможности редактирования реквизитов.
- При реализации некоторых специфических алгоритмов. Например, в справочнике Номенклатура создаются поля для редактирования дополнительных реквизитов.
В управляемой форме можно программно добавить, изменить и удалить:
Все указанные операции возможны только на сервере.
Программное изменение формы имеет ограничения:
- Удалить можно только программно добавленные реквизиты/команды/элементы. Нельзя программно удалить объекты, созданные в конфигураторе.
- Нельзя назначить реквизит основным.
Изменение команд формы
Для управления составом команд у объекта УправляемаяФорма есть коллекция Команды . У коллекции есть несколько методов:
Коллекция Команды доступна как на клиенте, так и на сервере. Изменять коллекцию (методы Добавить () и Удалить () ) можно только на сервере. Искать и получать количество элементов (методы Найти () и Количество () ) можно как на клиенте, так и на сервере.
В качестве примера работы с командами формы создадим новую команду ИсторияИзменений с заголовком «История изменений…», которая будет вызвать обработчик ОтобразитьИсторию () . Создание выполняется при открытии формы.
&НаСервере
Процедура ПриСозданииНаСервере ( Отказ , СтандартнаяОбработка )
Команда = Команды . Добавить ( «ИсторияИзменений» );
Команда . Действие = «Подключаемый_ОтобразитьИсторию» ;
Команда . Заголовок = «История изменений…» ;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОтобразитьИсторию ( Команда )
// действия команды
КонецПроцедуры
Обработчик команды должен располагаться в форме и иметь директиву компиляции &НаКлиенте .
Изменение реквизитов формы
Чтение состава реквизитов формы выполняется функцией ПолучитьРеквизиты ( Путь >) , возвращающей массив типа РеквизитФормы . Параметр функции указывает путь к родительскому реквизиту (в виде строки). Если параметр опущен или указана пустая строка, возвращаются реквизиты верхнего уровня.
Изменение реквизитов выполняется методом ИзменитьРеквизиты ( ДобавляемыеРеквизиты >, УдаляемыеРеквизиты >) объекта УправляемаяФорма . В параметры ДобавляемыеРеквизиты и УдаляемыеРеквизиты передаются массивы с элементами типа РеквизитФормы .
Внимание!
Процесс изменения состава реквизитов является достаточно ресурсоемким. Фактически выполняется пересоздание формы. В связи с этим работа с реквизитами формы выполняется в пакетном режиме.
Создадим новый реквизит формы с именем Покупатель:
// Описание добавляемых реквизитов
ДобавляемыеРеквизиты = Новый Массив ;
ДобавляемыеРеквизиты . Добавить(Новый РеквизитФормы («Покупатель», Новый ОписаниеТипов ( «СправочникСсылка.Контрагенты» ), , «Клиент» ));
// Изменения состава реквизитов
ИзменитьРеквизиты ( ДобавляемыеРеквизиты );
Изменение элементов формы
Для управления составом элементов у объекта УправляемаяФорма есть коллекция Элементы . У коллекции есть несколько методов:
Коллекция Элементы доступна как на клиенте, так и на сервере. Изменять коллекцию (методы Вставить () , Добавить () , Переместить () и Удалить () ) можно только на сервере. Искать и получать количество элементов (методы Найти () и Количество () ) можно как на клиенте, так и на сервере. Элементами коллекции могут быть:
Элементам формы можно программно назначить обработчики событий. Для этих целей предназначен метод УстановитьДействие ( ИмяСобытия >, Действие >) .
Рассмотрим несколько наиболее распространенных на практике примеров работы с командами, реквизитами и элементами формы.
Добавление команды и связанной с ней кнопки:
// Создание команды
Команда = Команды . Добавить ( «ИсторияИзменений» );
Команда . Действие = «Подключаемый_ОтобразитьИсторию» ; // В форме должна быть процедура с указанным наименованием
Команда . Заголовок = «История изменений…» ;
// Создание кнопки и связь ее с командой
Элемент = Элементы . Добавить ( «ИсторияИзменений» , Тип ( «КнопкаФормы» ));
Элемент.ИмяКоманды = «ИсторияИзменений» ;
Добавление реквизита и связанного с ним поля ввода:
// Описание добавляемых реквизитов
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты . Добавить (Новый РеквизитФормы ( «Покупатель» , Новый ОписаниеТипов ( «СправочникСсылка.Контрагенты» ), , «Клиент» ));
// Изменение состава реквизитов
ИзменитьРеквизиты ( ДобавляемыеРеквизиты );
// Создание поля ввода и связь с реквизитом
Элемент = Элементы . Добавить ( «Покупатель» , Тип ( «ПолеФормы» ));
Элемент . Вид = ВидПоляФормы . ПолеВвода ;
Элемент . ПутьКДанным = «Покупатель» ;
Назначение элементу формы обработчика события:
ЭлементПокупатель . УстановитьДействие ( «ПриИзменении» , «Подключаемый_ПокупательПриИзменении» );
&НаКлиенте
Процедура Подключаемый_ПокупательПриИзменении ( Элемент )
// Действия события
КонецПроцедуры
Внимание!
Процедурам, которые устанавливаются в качестве обработчиков событий из кода с помощью метода УстановитьДействие () , рекомендуется задавать префикс Подключаемый_.
Внимание!
Остались вопросы?
Спросите в комментариях к статье.
2015-10-01
Программное заполнение (удаление) элементов формы реквизит типа таблица значений, аналог СоздатьКолонки () в обычном интерфейсе.
Программное заполнение элементов формы реквизит типа таблица значений, аналог СоздатьКолонки () в обычном интерфейсе.
Программное удаление элементов формы реквизит типа таблица значений
В прикладных решениях 1С на управляемых формах (в частности в Бухгалтерии предприятия 3.0) можно устанавливать произвольный заголовок программы . Это может быть полезно, когда у вас есть несколько информационных баз и одновременно может быть открыто несколько рабочих окон.
Система позволяет устанавливать произвольные заголовки. Но лучше задавать «говорящие» названия. Например, если в базе ведется учет по одной организации ООО «Ромашка», то в заголовке лучше так и написать. Если это тестовая база, то опять же удобно указать это прямо в заголовке.
Для изменения заголовка программы необходимо перейти в раздел Администрирование – Общие настройки . Далее необходимо заполнить поле Заголовок программы . После окончания ввода новый заголовок отобразится в главном окне программы.
Как убрать слово [КОПИЯ] из заголовка программы
Очень часто можно наблюдать картину, когда в рабочей базе в заголовке присутствует слово КОПИЯ в квадратных скобках. Это служебное слово и появиться может по различным причинам. Но, как правило, происходит это из-за смены каталога, в котором находилась файловая база или в случае когда изменились параметры информационной базе на сервере.
При этом при первом запуске после изменения параметров расположения базы, на вопрос системы о смене расположения базы вы ответили «Это копия информационной базы» вместо «Информационная база перемещена» (Рис.3). После этого система добавляет служебное слово [КОПИЯ] к заголовку программы и отредактировать его, способом описанным выше не получится.
Более того, посчитав вашу базу копией, система блокирует работу с внешними ресурсами. Это делается для случая, когда вы действительно сделали копию базы. И обмен с внешними ресурсами этой копии может нарушить целостность основной рабочей системы.
Поэтому в случае, если вы действительно сделали копию рабочей базы, чтобы что-то в ней проверить или протестировать — всегда нажимайте при вопросе системы кнопку «Это копия информационной базы».
Убрать слово [КОПИЯ] и снять блокировку обмена с внешними ресурсами можно самостоятельно в разделе Администрирование-Обслуживание . Далее выбрать ссылку Регламентные операции и нажать кнопку « Разблокировать работу с внешними ресурсами ». После нажатия заголовок базы автоматически изменится слово [КОПИЯ] из него исчезнет.
На этом все. Приятной и удобной работы!
Видео инструкцию к данному материалу как обычно можно посмотреть в моем инстаграме - в нем вы найдете много других обучающих роликов.
Напоминаю, что Вы всегда можете обратиться ко мне по любым вопросам связанным с доработкой и настройкой 1С
Подписывайтесь на канал и группы в социальных сетях, чтобы не пропустить новые публикации.
Полный текст этой статьи и другие интересные материалы также можно прочитать на моем сайте в разделе обучение .
ФормаКлиентскогоПриложения (ClientApplicationForm)
ИзменитьРеквизиты (ChangeAttributes)
Синтаксис:
ИзменитьРеквизиты(, )
Параметры:
(необязательный)
Тип: Массив.
Массив, содержащий объекты типа РеквизитФормы.
Добавлять можно реквизиты верхнего уровня и вложенные реквизиты, являющиеся колонками.
К добавленным реквизитам верхнего уровня из модуля можно обращаться только с помощью конструкции ЭтотОбъект..
(необязательный)
Тип: Массив.
Массив, содержащий строки, описывающие пути к удаляемым реквизитам.
Удалять можно только ранее программно добавленные реквизиты.
Описание:
Изменяет структуру реквизитов формы.
Сначала выполняется удаление реквизитов. Таким образом массивы добавляемых и удаляемых реквизитов могут содержать реквизиты с одинаковым путём.
Внимание! Действия добавления и удаления выполняются за один вызов. Следует учитывать, что операция изменения состава реквизитов является ресурсоемкой, поэтому операции изменения состава реквизитов формы выполняются пакетным образом.
Доступность:
Сервер, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.2.
Описание изменено в версии 8.3.16.
(2) Про это знаю. Как получить сами реквизиты, чтобы их удалить потом используя этот способ.
Если вдруг кому-нибудь понадобится
(4) в цикле собирайте реквизиты в массив, а после обхода, если массив не пустой, выполняйте ИзменитьРеквизиты
ну и условия можно объединить, что более красивее выглядило;))
(8) Потому что "ТекущаяСмета" это реквизит формы, который не создан программно и мне он нужен всегда.
(12) Можно. Но только один раз. А если надо несколько раз - правильно вывести его в отдельную переменную. Потому что обращение через точку - это по сути своей поиск по имени свойства в коллекции свойств. Зачем каждый раз запускать поиск?
(12) Я не писал, что этого нельзя делать. Можно, просто оптимальнее будет зафиксировать значение в отдельной переменной и в следующие разы обращаться напрямую к нему.
(17)и насчёт оптимальности, неужели необходимо использовать стрнайти, почему просто сравнением не сделать?
(18) Я без понятия как там называются реквизиты и сколько их. Если нам нужна максимальная эффективность, а там только один реквизит, можно захардкодить его имя, заодно избавившись от цикла. Представленное решение является универсальным.
А вот про это не знал, потестим.
Если действительно так, то Спасибо.
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример использования
Пример кода с использованием метода Удалить() :
Платформа 1С:Предприятие позволяет программно добавлять и изменять элементы управляемой формы. Разберемся для чего это может потребоваться.
Программная модификация формы может потребоваться в нескольких случаях:
- При доработке типовых конфигураций для облегчения процедуры последующего обновления. В этом случае будет изменен только модуль формы. Модули намного проще обновлять, чем форму.
- При реализации некоторых общих алгоритмов. Например, в подсистеме БСП «Запрет редактирования реквизитов объектов» для всех подключенных к подсистеме объектов предусмотрено программное создание кнопки для включения возможности редактирования реквизитов.
- При реализации некоторых специфических алгоритмов. Например, в справочнике Номенклатура создаются поля для редактирования дополнительных реквизитов.
В управляемой форме можно программно добавить, изменить и удалить:
Все указанные операции возможны только на сервере.
Программное изменение формы имеет ограничения:
- Удалить можно только программно добавленные реквизиты/команды/элементы. Нельзя программно удалить объекты, созданные в конфигураторе.
- Нельзя назначить реквизит основным.
Изменение команд формы
Для управления составом команд у объекта УправляемаяФорма есть коллекция Команды . У коллекции есть несколько методов:
Коллекция Команды доступна как на клиенте, так и на сервере. Изменять коллекцию (методы Добавить () и Удалить () ) можно только на сервере. Искать и получать количество элементов (методы Найти () и Количество () ) можно как на клиенте, так и на сервере.
В качестве примера работы с командами формы создадим новую команду ИсторияИзменений с заголовком «История изменений…», которая будет вызвать обработчик ОтобразитьИсторию () . Создание выполняется при открытии формы.
&НаСервере
Процедура ПриСозданииНаСервере ( Отказ , СтандартнаяОбработка )
Команда = Команды . Добавить ( «ИсторияИзменений» );
Команда . Действие = «Подключаемый_ОтобразитьИсторию» ;
Команда . Заголовок = «История изменений…» ;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОтобразитьИсторию ( Команда )
// действия команды
КонецПроцедуры
Обработчик команды должен располагаться в форме и иметь директиву компиляции &НаКлиенте .
Изменение реквизитов формы
Чтение состава реквизитов формы выполняется функцией ПолучитьРеквизиты ( Путь >) , возвращающей массив типа РеквизитФормы . Параметр функции указывает путь к родительскому реквизиту (в виде строки). Если параметр опущен или указана пустая строка, возвращаются реквизиты верхнего уровня.
Изменение реквизитов выполняется методом ИзменитьРеквизиты ( ДобавляемыеРеквизиты >, УдаляемыеРеквизиты >) объекта УправляемаяФорма . В параметры ДобавляемыеРеквизиты и УдаляемыеРеквизиты передаются массивы с элементами типа РеквизитФормы .
Внимание!
Процесс изменения состава реквизитов является достаточно ресурсоемким. Фактически выполняется пересоздание формы. В связи с этим работа с реквизитами формы выполняется в пакетном режиме.
Создадим новый реквизит формы с именем Покупатель:
// Описание добавляемых реквизитов
ДобавляемыеРеквизиты = Новый Массив ;
ДобавляемыеРеквизиты . Добавить(Новый РеквизитФормы («Покупатель», Новый ОписаниеТипов ( «СправочникСсылка.Контрагенты» ), , «Клиент» ));
// Изменения состава реквизитов
ИзменитьРеквизиты ( ДобавляемыеРеквизиты );
Изменение элементов формы
Для управления составом элементов у объекта УправляемаяФорма есть коллекция Элементы . У коллекции есть несколько методов:
Коллекция Элементы доступна как на клиенте, так и на сервере. Изменять коллекцию (методы Вставить () , Добавить () , Переместить () и Удалить () ) можно только на сервере. Искать и получать количество элементов (методы Найти () и Количество () ) можно как на клиенте, так и на сервере. Элементами коллекции могут быть:
Элементам формы можно программно назначить обработчики событий. Для этих целей предназначен метод УстановитьДействие ( ИмяСобытия >, Действие >) .
Рассмотрим несколько наиболее распространенных на практике примеров работы с командами, реквизитами и элементами формы.
Добавление команды и связанной с ней кнопки:
// Создание команды
Команда = Команды . Добавить ( «ИсторияИзменений» );
Команда . Действие = «Подключаемый_ОтобразитьИсторию» ; // В форме должна быть процедура с указанным наименованием
Команда . Заголовок = «История изменений…» ;
// Создание кнопки и связь ее с командой
Элемент = Элементы . Добавить ( «ИсторияИзменений» , Тип ( «КнопкаФормы» ));
Элемент.ИмяКоманды = «ИсторияИзменений» ;
Добавление реквизита и связанного с ним поля ввода:
// Описание добавляемых реквизитов
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты . Добавить (Новый РеквизитФормы ( «Покупатель» , Новый ОписаниеТипов ( «СправочникСсылка.Контрагенты» ), , «Клиент» ));
// Изменение состава реквизитов
ИзменитьРеквизиты ( ДобавляемыеРеквизиты );
// Создание поля ввода и связь с реквизитом
Элемент = Элементы . Добавить ( «Покупатель» , Тип ( «ПолеФормы» ));
Элемент . Вид = ВидПоляФормы . ПолеВвода ;
Элемент . ПутьКДанным = «Покупатель» ;
Назначение элементу формы обработчика события:
ЭлементПокупатель . УстановитьДействие ( «ПриИзменении» , «Подключаемый_ПокупательПриИзменении» );
&НаКлиенте
Процедура Подключаемый_ПокупательПриИзменении ( Элемент )
// Действия события
КонецПроцедуры
Внимание!
Процедурам, которые устанавливаются в качестве обработчиков событий из кода с помощью метода УстановитьДействие () , рекомендуется задавать префикс Подключаемый_.
Внимание!
Остались вопросы?
Спросите в комментариях к статье.
2015-10-01
Программное заполнение (удаление) элементов формы реквизит типа таблица значений, аналог СоздатьКолонки () в обычном интерфейсе.
Программное заполнение элементов формы реквизит типа таблица значений, аналог СоздатьКолонки () в обычном интерфейсе.
Программное удаление элементов формы реквизит типа таблица значений
Конструируем отчёт в СКД.
Состав полей, например, такой:
В строках отчёта – группировка "Контрагент", в колонках – группировка "Проект". В данные отчёта попадает ресурс "Взаиморасчеты".
В результате получаем результат такого вида:
Видим, что в шапку отчёта попал заголовок ресурса "Взаиморасчёты". Этот заголовок нам тут не нужен, и поэтому будем от него избавляться.
Вариантов есть несколько.
Вариант 1.
Посредством настройки макета.
Открываем соответствующую вкладку в конструкторе системы компоновки данных. Выбираем пункт "Добавить макет группировки". В форме "Макет группировки" добавляем поле "Проект". Тип макета – "Заголовок".
Задаём область. Например, ячейку R1C1. Для ячейки устанавливаем свойство Заполение: "Параметр". Называем параметр, например, "Проект".
Задаём выражение для параметра: Представление(Проект). Это значит – представление поля "Проект".
В итоге должна получиться такая картина:
В итоге отчёт примет необходимый нам вид, без заголовка ресурса.
Вариант 2.
1. В выбранных полях всего отчета оставляем только ресурс
2. В выбранных полях группировки колонок убираем автополе, добавляем поле этой колонки (например, если группировка колонок по периоду, выбираем тут период)
3. На вкладке "Другие настройки" корня отчета выбираем "расположение ресурсов" - "вертикально".
В этом варианте макет не требуется.
Комментарии
И есть еще 3 вариант
через условное оформление - только в заголовках и заголовках полей
максимальная высота = 1
размер шрифта = 1
цвет текста = белый
ну и список полей чей заголовок надо скрыть
Читайте также: