Как разместить команды в командной панели формы?

В 1С Предприятии 8.2 внешний вид формы определяется расположением и свойствами элементов в дереве элементов формы. На основе этих свойств система сама «рисует» форму, в частности, командную панель формы.
Любая группа кнопок (командная панель, подменю, группа кнопок, контекстное меню) заполняется по одинаковым правилам:

  • сначала идут кнопки, предоставляемые источником команд, с которым связана данная группа;
  • затем идёт фрагмент командного интерфейса, если источник команд подразумевает его включение;
  • затем идут пользовательские команды, добавленные в данную группу;
  • затем идёт подменю Все действия (только для командной панели);
  • и в конце идёт кнопка Справка в том случае если она была предоставлена источником команд.

Рассмотрим самый простой вариант, когда в форме элемента справочника созданы две команды и помещены в командную панель формы.Команды

В результате в режиме 1С:Предприятия расположение кнопок, соответствующих созданным командам Команда1, Команда2 соответствует описанному выше алгоритму: в командной панели формы и в подменю Все действия сначала расположены команды, предоставляемые источником команд — формой элемента
справочника (например, Записать и закрыть), затем команды, созданные
разработчиком (Команда1, Команда2), и затем команды Изменить форму и  Справка.Команды в предприятии

Есть несколько способов вмешаться в процесс расположения команд.

1. Можно отделить команды, созданные пользователем, от других команд разделителем. Для этого нужно создать в командной панели группу вида Группа кнопок и перенести в нее эти команды.Команды отдельнные разделителем

2. Можно расположить какие-то команды разработчика в начале группы команд.
Для этого нужно отменить у группы источник команд (для контекстного меню и автоматической командной панели нужно выключить флажок Автозаполнение), затем добавить в группу свою кнопку, после нее добавить группу вида Группа кнопок и у этой группы установить источник команд — например, Форма.Вариант расположения №2

В результате в режиме 1С:Предприятия командная панель формы и подменю Все действия будут иметь следующий вид.Вариант №2 (Предприятие)

3. Можно переместить автоматически заполняемые кнопки. Для этого нужно поместить в дерево командной панели или контекстного меню кнопку, связанную с той же командой, которая заполняется из источника данных (например, Удалить, Изменить и др.). Автоматически такая кнопка не будет размещена среди стандартных команд и, таким образом, можно переместить стандартную
команду в другое место. В результате командная панель формы и подменю Все действия будут иметь следующий вид.Вариант №3

Чтобы пиктограмма команды Удалить отображалась в командной панели формы, нужно установить свойство этой кнопки ТолькоВоВсехДействиях в значение Нет.Вариант №3

4. Можно включить/выключить видимость стандартных команд, предоставляемых источником команд, например — Форма. Для этого нужно открыть окно Состав команд в палитре свойств формы.Вариант №4

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

Популярность: 23%

Рубрика: Особенности работы управляемого интерфейса | Метки: , | 4 комментария

Как раскрасить строки табличной части по условию?

В 1С Предприятии 8.2 к табличной части можно применить такое же условное оформление, как и к динамическому списку. Но в отличие от динамического списка, где настройка списка доступна и в пользовательском режиме, сделать это можно только в режиме конфигуратора или из встроенного языка. Для этого нужно использовать свойство УсловноеОформление формы.
Например, нам требуется оформить строки табличной части приходной накладной так, чтобы строки с суммой больше 10000 были выделены зеленым фоном, а ячейки Товар и Количество строк табличной части с количеством больше 10 единиц были выделены синим текстом.
Выполним условное оформление интерактивно. Есть форма документа ПоступлениеТоваровИУслуг, выделим корень элементов формы (строку Форма) и откроем ее свойства. В строке УсловноеОформление нажмем ссылку Открыть.Свойства формы

В появившемся окне Настройка оформления нажмем кнопку Добавить.
Сначала укажем Оформление для выделения полей. Нажмем кнопку выбора в поле Оформление и установим зеленый цвет фона.
Затем укажем условие, при наступлении которого будет применяться оформление, то есть когда фон строк табличной части будет зеленым. Нажмем кнопку выбора в поле Условие и в появившемся окне добавим Новый элемент отбора. Для этого нажмем на кнопку Добавить и укажем в графе Левое значение – поле
табличной части Объект.Товары.Сумма, в графе Вид сравнения – Больше, а в графе Правое значение выберем 10000.
Затем укажем список оформляемых полей. В отличии от оформления динамического списка, построенного на системе компоновки данных, если мы хотим выделить полностью строку, здесь нужно перечислить все поля строки табличной части.
Нажмем кнопку выбора в поле Оформляемые поля, затем нажмем Добавить и добавим поочередно все поля табличной части в список оформляемых полей. Оформление полей

Затем создадим еще одно условие для полей табличной части Товар и Количество, чтобы цвет текста этих полей был синим, в случае если значение в поле Количество больше 10.
Таким образом, мы добились требуемого оформления табличной части формы документа ПоступлениеТоваровИУслуг.Результат настройки Подобным образом можно оформить не только строки табличной части, но и все поля
документа.

Популярность: 20%

Рубрика: Особенности работы управляемого интерфейса | Метки: , , | Оставить комментарий

Оформление увольнения в программе «1С:Зарплата и Управление Персоналом 8» (редакция 2.5)

Регистрация увольнения работников и оформление приказа об увольнении производится в программе с помощью документа Увольнение из организаций. Документ можно ввести на одного или нескольких работников сразу.

В шапке документа указываются:

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

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

Для каждого увольняемого работника в строке табличной части указываются:

  • в реквизите Дата увольнения — дата увольнения работника;
  • в реквизите Статья ТК РБ — основание увольнения в соответствии с Трудовым кодексом (из справочника Основания увольнения (статьи ТК РБ));
  • в реквизите Основание — для отражения в форме № Т-8 вводятся в виде текстовой строки реквизиты документа, на основании которого производится увольнение (заявление работника, служебная записка, медицинское заключение);
  • флажок Прекращать стандартные вычеты устанавливается, если необходимо, чтобы при проведении документа было зарегистрировано прекращение действия стандартных налоговых вычетов по подоходному налогу;
  • в реквизите Компенсация — признак необходимости начислить работнику компенсацию за неиспользованный отпуск (указывается значение Компенсация) или удержать сумму за «отгулянные», но не отработанные дни отпуска (указывается значение Удержание). Количество дней неиспользованного отпуска, за которые необходимо выплатить компенсацию (или количество неотработанных дней ранее оплаченного отпуска) указывается в реквизите Дней. Хочу отметить, что количество дней отпуска не списывается при проведении документа Увольнение из организаций, а используется только для заполнения документа подсистемы расчета зарплаты Расчет при увольнении сотрудника организаций.

После ввода данных документа по кнопке Печать можно получить печатную форму приказа об увольнении № Т-8 или № Т-8а.

Пример

С 14 мая организация расторгает трудовой договор с Самойловым Ю.А. по соглашению сторон.

Увольнение работника зарегистрировано в программе с помощью документа Увольнение из организаций (рис. 1).

В реквизите Статья ТК РБ указано соответствующее основание увольнения — п. 1 ст. 35 ТК (Соглашение сторон).

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

Популярность: 8%

Рубрика: Кадровый учет | Метки: , | Оставить комментарий

Как показать картинки в табличной части или в динамическом списке?

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

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

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

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

Например, таким полем может быть реквизит ТоварУслуга справочника Номенклатура. Для товаров этот реквизит содержит значение 0, для услуг он содержит значение 1.

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

Можно перетащить реквизит, содержащий индексы картинки строк (в примере Объект.СписокНоменклатуры.Номенклатура.ТоварУслуга) в первую колонку таблицы формы, и тогда картинка будет отображена в отдельной колонке табличной части.

Настройка вывода картинки в отдельную колонку

Отображение картинки в отдельной колонке табличной части документа

Аналогичным образом собственные картинки можно показать и в динамическом списке. С той лишь разницей, что в свойстве ПутьКДаннымКартинкиСтроки нужно указать поле из запроса, которое будет возвращать индекс картинки в выбранной коллекции картинок.

Популярность: 25%

Рубрика: Особенности работы управляемого интерфейса | Метки: , , | Оставить комментарий

Как открыть форму списка с отбором?

Есть несколько способов для того, чтобы открыть форму списка с некоторым, заранее установленным отбором. Рассмотрим их:

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

В процессе открытия формы будет установлен отбор по указанному полю. Например, в следующем примере открывается список расходных накладных с отбором по полю Контрагент, равному «ОАО Рога и копыта».

ЗначениеОтбора = Новый Структура(«Контрагент», «ОАО Рога и копыта»);
ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);
ОткрытьФорму(«Документ.ПриходнаяНакладная.ФормаСписка», ПараметрыВыбора);

2. Можно открыть форму списка без параметров:

ОткрытьФорму(«Документ.ПриходнаяНакладная.ФормаСписка»);

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
  ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип
  («ЭлементОтбораКомпоновкиДанных»));
  ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных  («СуммаДокумента»);
  ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
  ЭлементОтбора.Использование = Истина;
  ЭлементОтбора.ПравоеЗначение = 150000;
КонецПроцедуры

Преимущества данного метода в том, что ВидСравнения у отбора можно задавать не только Равно, как в первом случае, а и Больше, Меньше и т.п.

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

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

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

Обработчик выполнения этой команды заполним следующим образом:

&НаКлиенте
Процедура РасходныНакладные(Команда)
ФормаСписка = ПолучитьФорму(«Документ.РасходнаяНакладная.ФормаСписка»);
ФормаСписка.ФильтрПоТовару = Элементы.Список.ТекущаяСтрока;
ФормаСписка.Открыть();
КонецПроцедуры

В этом обработчике мы получаем форму списка приходных накладных и передаем в параметр формы ФильтрПоТовару ссылку на текущий элемент в списке номенклатуры и открываем форму с этим параметром.
Затем создадим форму списка документов РасходнаяНакладная и создадим реквизит формы ФильтрПоТовару, который мы будем использовать в качестве параметра формы при ее открытии. Теперь откроем палитру свойств основного реквизита формы Список. Установим флаг ПроизвольныйЗапрос и в
строке Настройка списка нажмем Открыть.

В поле Запрос введем следующий текст запроса:

ВЫБРАТЬ

  ДокументПриходнаяНакладная.Номер,
  ДокументПриходнаяНакладная.Дата
ИЗ
  Документ.ПриходнаяНакладная КАК ДокументПриходнаяНакладная
ГДЕ
  ДокументПриходнаяНакладная.Товары.Товар = &Товар

 Произвольный запрос

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
Список.Параметры.УстановитьЗначениеПараметра(«Товар», ФильтрПоТовару);
КонецПроцедуры

Здесь Список.Параметры — это список параметров запроса динамического списка для реквизита Список. Значение параметра Товар устанавливается равным значению параметра формы ФильтрПоТовару. В результате по нажатию кнопки Расходные накладные в форме списка номенклатуры мы будем получать список только тех приходных накладных, в которых присутствует номенклатура, выделенная в данный момент в списке номенклатуры.

 — это список параметров запроса динамического списка для реквизита Список.

Популярность: 18%

Рубрика: Особенности работы управляемого интерфейса | Метки: , , , | Оставить комментарий