Как сделать необязательными заполнения программно 1с. Заполнение реквизитов по статистике

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

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

Добавление элементов на форму

Делается это достаточно просто: необходимо выделить элемент Форма в окне Элементы конструктора формы и нажать на кнопку «Добавить». После этого откроется окно, в котором необходимо выбрать нужный тип элемента

После выбора, элемент нужного появится в окне Элементы .

Элемент управляемой формы Поле

Разберем элемент управляемой формы Поле . Этот элемент нужен для ввода информации на форме. А также для отображения какой-либо информации. После того, как Вы добавите этот элемент на форму, справа откроется палитра свойств элемента формы. Пока Вас должны интересовать два свойства – ПутьКДанным и Вид.

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

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

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

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

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

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

Теперь добавим новый элемент формы с типом Поле ввода и свяжем его с реквизитом РеквзитДата посредством уже знакомого нам свойства ПутьКДанным

Как Вы видите вид поля ввода поменялся, а так же поменяется возможный выбор значений свойства Вид.

Таким образом, делаем вывод – функциональность поля ввода зависит от типа реквизита.

Для реквизита с типом Булево будут доступны следующие значения свойства Вид.

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

Более подробно работа с элементами формы на практичных примерах дается в книге «Основы разработки в 1С:Такси. Разработка управляемого приложения за 12 шагов» .

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

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

  1. Без сложных технических терминов.
  2. Более 700 страниц практического материала.
  3. Каждое задание сопровождается рисунком (скриншот).
  4. Сборник задач для домашней проработки.
  5. Книга написана понятным и простым языком — для новичка.

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

  1. Без сложных технических терминов;
  2. Более 600 страниц практического материала;
  3. Каждый пример сопровождается рисунком (скриншот);
  4. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!

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


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

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

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

Вступайте в мои группы.

Продолжаем тему распространённых ошибок, которые совершают пользователи программы 1С Бухгалтерия. В этой и этой статьях я уже рассказывал вам о распространенных ошибках. Сейчас речь пойдет об ошибках, возникающих из-за невнимательности пользователей.

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

Когда можно оставлять пустыми реквизиты документов 1С Бухгалтерии

На первый взгляд может показаться, что если в документе есть какой-то реквизит (поле , галочка и так далее), то его нужно обязательно заполнить. Ведь он расположен на форме не просто так, верно? Однако на самом деле, бывают случаи, когда в документе действительно можно оставлять незаполненными часть полей, причем на результат это не повлияет. Посмотрите на рисунок.

сайт_

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

Подведём итоги

Работая в 1С Бухгалтерии, не пропускайте поля! Это касается не только пустых полей, но и заполненных некоторыми значениями по умолчанию, которые не всегда бывают верны. Также напоминаю, что в документе может быть много вкладок . Рекомендуется заполнять все документы 1С

1. Поле ввода
2. Флажок
3. Переключатель

Поле ввода

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

Выбор из списка (РежимВыбораИзСписка)

Выбор из другой формы (Кнопка выбора)

Кнопки регулирования

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

Процедура пвВыборНоменклатурыРегулирование(Элемент, Направление, СтандартнаяОбработка)
//Выбираем данные для поля ввода
// в данном случае справочник Номенклатура
Запрос = Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| Номенклатура.Ссылка Как Товар
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|УПОРЯДОЧИТЬ ПО
| Номенклатура.Код";
ТЗНоменклатура = Запрос.Выполнить().Выгрузить();

//ищем текущий элемент справочника указанный в поле ввода
ТекЭлемент = ТЗНоменклатура.Найти(Элемент.значение);

Если ТекЭлемент = Неопределено Тогда
// если не нашли элемент тогда устанавливаем номер индекса
// за пределами таблицы значений, т.к. самый первый элемент в
// таблице значений имеет индекс 0
ТекИндекс = -1;
Иначе
// если элемент найден получаем его индекс
ТекИндекс = ТЗНоменклатура.Индекс(ТекЭлемент);
КонецЕсли;

// рассчитываем новый индекс в зависимости от нажатия кнопки
// минус перед переменной Направление стоит для того, чтобы при
// нажатии на верхнюю стрелку показывался элемент стоящий выше
// а следовательно с меньшим индексом
НовИндекс = ТекИндекс-Направление;

// получаем количество элементов в справочнике
// вычетаем единицу т.к. все коллекции в 8.1 начинаются с 0
КоличествоЭлементов = ТЗНоменклатура.Количество()-1;

Если НовИндекс < 0 Или НовИндекс > КоличествоЭлементов Тогда
// если при изменении индекс находится за пределами таблицы значений
// т.е. его номер большего самого большого индекса или меньше 0 то
// не изменяем значение и сообщаем об этом пользователю
Сообщить("Вы достигли предела справочника");
Иначе
// присваеваем новое значение, "Товар" - это название колонки таблицы значений
Элемент.значение = ТЗНоменклатура.Получить(НовИндекс).Товар;
КонецЕсли;

КонецПроцедуры

Флажок

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

Переключатель

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

В данном случае удобство использования переключателей может заключаться в том, что каждый из них может иметь какое-то значение, которое устанавливается в свойстве "Выбираемое значение". И тогда "Скидка 5%" может хранить значение 5 или 0,05.

При использовании переключателей важно помнить три вещи:

      У первого переключателя должно стоять свойство "ПервыйВГруппе" (в данном примере это переключатель "Скидка 5%").

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

  1. Тип выбираемого значения устанавливается у переключателя имеющего свойство "ПервыйВГруппе".

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

Применимость

В статье рассматривается интерфейс «Такси» конфигурации, разработанной на платформе 1C 8.3.5.1098. Дополнения к текущим релизам платформы (8.3.11) приведены в заключении. Поэтому вся представленная информация актуальна.

Новое в управляемых формах в «1С:Предприятие 8.3»

Разработчики платформы «1С:Предприятие 8.3» в очередной раз основательно поработали над удобством работы пользователей с управляемыми формами.

Ввод по строке

Ранее, в полях ввода, при вводе с клавиатуры начальных символов, система искала подходящие элементы.

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

В конфигураторе у ссылочных объектов метаданных для настройки ввода по строке, была создана отдельная закладка “Поле ввода”:

На ней представлены следующие возможности для формирования списка выбора при вводе по строке:

  • использование полнотекстового поиска;
  • поиск по вхождению подстроки или по началу строки;
  • выполнение поиска непосредственно или в фоновом режиме.

В свойстве “Способ поиска строки при вводе по подстроке” можно выбрать – следует ли искать только по первым символам строки или в любой ее части.

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

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

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

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

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

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

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

Результаты полнотекстового поиска, соответствующего введенной поисковой строке, приведены на рисунке:

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

При совместном использовании этого функционала и ввода по строке существует следующая особенность.

Указанные выше обработчики не влияют на представление значений в списке выбора – в списке отражается основное представление объекта.

Однако после выбора в поле отображается ожидаемое переопределенное представление объекта.

Для увеличения нажмите на изображение.

Разработчики считают, что ошибок в таком поведении платформы нет, и что более ценно показать, почему конкретный результат найден (выделить, например, подстроку, по которой объект был найден), чем отобразить оторванное от результата поиска представление соответствующего значения.

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

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

Например, при помощи обработчиков событий АвтоПодбор и ОкончаниеВводаТекста конкретного поля ввода или при помощи обработчика события ОбработкаПолученияДанныхВыбора в модуле менеджера объекта.

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

Для увеличения нажмите на изображение.

Выпадающий список для поля ввода

В платформе 8.3 выпадающий список для поля ввода получил дополнительную функциональность для повышения удобства работы с системой.

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

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

Для увеличения нажмите на изображение.

Использование истории можно переопределить для конкретного реквизита объекта или элемента формы.

Кроме этого, если в списке поля ввода пользователь не нашел интересующего элемента, он может нажать кнопку “Показать все” для открытия формы списка, чтобы выбрать элемент из всего справочника.

Также в списке поля ввода есть команда “Создать новый объект”. При этом будет открыта форма нового элемента.

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

Типовой шаблон использования команды “Создать новый элемент” выглядит следующим образом. Пользователь вводит название нужного элемента в поле ввода.

Если такого элемента в базе данных система не обнаружит – будет выведено сообщение об этом. После нажатия кнопки в списке, на экране откроется форма нового элемента с заполненным наименованием.

Рассмотренные новшества позволяют увеличить скорость ввода информации в систему.

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

В платформе 8.3 настройки динамического списка можно сохранять автоматически. Для этого в конфигураторе, для нужного реквизита формы, необходимо установить свойство “Автоматическое сохранение пользовательских настроек”. По умолчанию, при создании списка эта настройка включена.

У корневого элемента конфигурации появилось новое свойство – Хранилище пользовательских настроек динамических списков.

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

Для увеличения нажмите на изображение.

Настройка списков в пользовательском режиме вызывается при помощи соответствующего пункта меню:

Внешний вид формы похож на настройку отчетов.

Для увеличения нажмите на изображение.

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

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

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

При такой настройке форма будет иметь поля в виде “быстрых отборов”.

Для увеличения нажмите на изображение.

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

Режим просмотра динамического списка (список, дерево, иерархический список) сохраняется вместе с настройками элементов формы.

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

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

Для увеличения нажмите на изображение.

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

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

Для увеличения нажмите на изображение.

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

Для увеличения нажмите на изображение.

Т.к. материал в статье описан для платформы 8.3.5, то актуализируем его.

  • До версии 8.3.7 ввод по строке работал недостаточно быстро, поэтому в этом релизе была изменена структура данных индекса полнотекстового поиска, что привело к повышению скорости при работе системы в тех местах, где используется данный механизм. Отметим, что новый формат полнотекстового поиска используется в том случае, если режим совместимости установлен в значение «Не использовать». В режиме совместимости с с версией 8.3.6 поведение не изменилось. Также отметим, что в следующем релизе платформы 1С (8.3.8) механизм ввода по строке и при использовании строки поиска динамического списка был также улучшен, и теперь он обеспечивает поиск данных, которые еще не попали в полнотекстовый поиск. Ранее такого поведения не наблюдалось.
  • Выпадающий список поля ввода управляемой формы также претерпел некоторые улучшения. В версии 8.3.8 он стал автоматически подстраивать свою ширину под ширину отображаемых в нем данных, плюс клавиши Home и End стали обрабатываться прямо в поле ввода. Благодаря этим улучшениям стало удобнее использовать поле ввода с выпадающим списком.
  • Механизм сохранения настроек динамических списков также был улучшен, и в версии 8.3.6 свойства расширения таблицы формы для динамического списка Период и Отображение стали храниться в тех же разрезах, что и другие настройки динамического списка, что сильно упростило работу с ними разработчику. Теперь они стали доступны в обработчике управляемой формы ПриЗагрузкеПользовательскихНастроекНаСервере() , чего ранее не было.

На этом знакомство с управляемыми формами в интерфейсе «Такси» мы завершим, но в следующей статье познакомимся с новыми возможностями, которые представила платформа «1С:Предприятие» редакции 8.3.

В продолжение темы:
Смартфоны

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