Визуальное выделение обязательных для заполнения реквизитов

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

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

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

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

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

[нажмите на картинку для увеличения]

Справка: как сохранять фото с сайтов

В приведенной выше форме авансового отчёта (версия 1С Бухгалтерия Предприятия 8.3) поле Склад иногда можно не заполнять. Почему, спросите вы? А потому, что исходя из смысла данного документа данное поле требуется не всегда. И в самом деле, если подотчетное лицо не приобрело что-то, что можно положить на склад (что-то материальное), то данное поле заполнять бессмысленно.

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

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

Теперь посмотрите на ещё один скриншот из 1С Бухгалтерии 8.3. На этот раз это документ реализации товаров и услуг.

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

[нажмите на картинку для увеличения]

Справка: как сохранять фото с сайтов

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

Теоретические основы и практические задачи по ведению бухгалтерии рассматриваются в нашем специальном учебном видеокурсе 1С:Бухгалтерия 8.3 (42 часа, 240 уроков). Курс предназначен для обучения самостоятельному ведению учёта от создания базы до сдачи отчётов.

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

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

[нажмите на картинку для увеличения]

Справка: как сохранять фото с сайтов

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

[нажмите на картинку для увеличения]

Справка: как сохранять фото с сайтов

В связи с вышесказанным следует запомнить следующее.

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

К примеру, вкладку Печать можно не заполнять и на проведении документа это никак не скажется, однако при этом печатная форма документа будет содержать пробелы. Чувствуете разницу? Такие случаи следует уметь различать, в этом вам помогут видеокурсы, представленные на сайте или индивидуальные «живые» занятия.

Причины неверного заполнения и пропуска полей

Первая причина

Реквизит пропускается потому, что при открытии формы автоматически активируется поле, стоящее ниже него.

Очень распространённый случай. Дело в том, что программисты, которые разрабатывают конфигурацию 1С Бухгалтерии, могут в свойствах любой формы указать так называемое поле по умолчанию, и именно оно будет активироваться при открытии формы. Например, дата часто (но не всегда ведь!) используется текущая, поэтому логично, что это поле можно «пропустить», по умолчанию активировав следующее за ним.

Не стоит обращать внимание на это. Следует проверить все поля в документе.

Вторая причина

Реквизит уже заполнен на момент открытия формы неким значением по умолчанию.

На рисунке приведен фрагмент окна расходного кассового ордера с типом «Оплата поставщику». Обратите внимание на то, что контрагент — юридическое лицо.

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

[нажмите на картинку для увеличения]

Справка: как сохранять фото с сайтов

А теперь посмотрите, как была автоматически заполнена вкладка Печать.

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

[нажмите на картинку для увеличения]

Справка: как сохранять фото с сайтов

Так что если какое-то поле заполняется автоматически, то это вовсе не означает, что это во всех случаях правильно!

Кстати, если ещё раз вспомнить про поле Дата в документе, то видно, что здесь одновременно работает как первая, причина, так и вторая. Может быть поэтому его так часто заполняют неверно? Про заполнение даты я уже писал в своей статье как заполнить дату документа ранее.

Третья причина

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

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

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

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

P.S.: Если Вы начинающий пользователь конфигурации 1С Бухгалтерия 8, то просто запомните, что невнимательность — один из основных источников ошибок поначалу.

Уникальная метка публикации: 8FA2FAC6-43CD-1AD2-6EC7-CB0A3A005C0B
Источник: //artemvm.info/information/uchebnye-stati/1s-predpriyatie/zapolnenie-obyazatelnyh-polej-v-dokumentah/

Содержание:

1.       Свойство 1С «Проверка заполнения»

2.       Процесс проверки заполнения реквизита

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

1.    Свойство 1С «Проверка заполнения»

Чтобы проверить заполнение реквизита в 1С используется специальное свойство – Проверка заполнения. Для всех объектов метаданных, которые имеют типы, а также для реквизитов, которые выступают в стандартном формате, и таблиц, которые обязательно должны быть заполнены, для свойства «Проверка заполнения» должно быть определено значение «Выдавать ошибку».

В некоторых случаях проводить документацию, в которой не заполнены значения в реквизитах и таблицах – не является уместным, так как во время учётов документ не будет иметь отображения. Как пример, рассмотрим документ «Заказ клиента», по сути – это запрос клиента для поставки некоторой продукции в некотором количестве. Согласно определению, не сложно понять, что документ, в котором не заполнены обязательные реквизиты «Клиент» и таблица «Товары» не является корректным и в свойстве «Проверка заполнения» нужно выставить «Выдавать ошибку».

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

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

2.    Процесс проверки заполнения реквизита

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

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

Для проверки необходимо запустить модуль документа «ОказаниеУслуги» и поместить в него следующую процедуру:


Рис. 1 Осуществление проверки заполнения реквизита в 1С

Теперь рассмотрим, что именно происходит в данной процедуре.

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

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

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

Также вместо «ПереченьНоменклатуры» и «ВидНоменклатуры» можно использовать запросы.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

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

Значение заполнения

Это свойство позволяет установить значение по-умолчанию для реквизита.
Например, решим такую задачу: в справочнике «Сотрудники» есть реквизит «Вид приема на работу», который принимает одно из 3-х значений: «Штатный», «Внутренний совместитель» и «Внешний совместитель»:
imageДля новых сотрудников по-умолчанию нужно устанавливать вариант приема на работу — «Штатный». Для того чтобы решить эту задачу достаточно в конфигураторе перейти в свойства реквизита и выбрать значение по-умолчанию в свойстве «Значение заполнения»:
imageВ результате при создании нового элемента справочника значение реквизита будет заполнено выбранным значением по-умолчанию:

Проверка заполнения

Это свойство реквизита, которое позволяет сделать реквизит обязательным для заполнения.
Например, решим такую задачу: в справочнике «Контрагенты» есть реквизит «УНП», который пользователь должен заполнить обязательно.
imageПри попытке сохранить контрагента с пустым «УНП» должна выдаваться ошибка.

Для решения такой задачи достаточно в конфигураторе в настройках реквизита «УНП» установить свойство «Проверка заполнения» в значение «Выдавать ошибку»:

imageВ результате при попытке сохранения контрагента с пустым «УНП» пользователь получит сообщение об ошибке заполнения и сохранение выполняться не будет:
image

Связи параметров выбора

Это свойство позволяет установить связь между реквизитами одного объекта.
Пример задачи: в документе «Приходная накладная» есть реквизиты «Контрагент» (ссылка на справочник «Контрагенты») и «Договор» (ссылка на справочник «Договоры», который подчинен справочнику «Контрагенты»). При выборе договора пользователь должен видеть в списке только те договоры, которые принадлежат выбранному в этому же документе контрагенту. Договоры других контрагентов пользователь видеть не должен:
imageДля решения этой задачи нужно в конфигураторе для реквизита «Договор» настроить свойство «Связи параметров выбора»: указать связь с реквизитом этого же документа — «Контрагент». Условие связи будет следующим: Контрагент из документа должен равен значению реквизита «Владелец» для справочника «Договоры»:
imageВ результате при выборе договора в списке пользователь будет видеть только те договоры, для которых выполняется условие связи Владелец (из справочника договоры) = Контрагент (из документа «Приходная накладная):
image

Параметры выбора

Это свойство позволяет настроить фильтр списка, который открывается при выборе значения реквизита.

Пример задачи:
В справочнике «Номенклатура» хранится список всех товаров и услуг организации:

imageВ документе «Расходная накладная» товары и услуги хранятся в разных табличных частях:
imageВ заполнении табличной части «Товары» пользователь при выборе товара должен видеть списке только товары, а при заполнении табличной части «Услуги» — только услуги (без товаров). При этом в справочнике «Номенклатура» есть реквизит типа «Булево» — «Услуга», который позволяет однозначно определить тип номенклатуры:
imageДля решения этой задачи нужно в конфигураторе настроить свойство «Параметры выбора» реквизита «Номенклатура» для каждой табличной части:
imageimageДля реквизита «Номенклатура» табличной части «Товары» добавляем в настройки параметров выбора условие вида «Услуга = Ложь», для реквизита «Номенклатура» табличной части «Услуги» — условие вида «Услуга = Истина». В результате при выборе значения реквизита список будет отфильтрован согласно этому условию.
imageimageТаким образом, в этой статье мы познакомились с полезными свойствами реквизитов объектов 1С, которые позволяют быстро и просто решать часто возникающие на практике задачи без программирования, это свойства:

  • Значение заполнения (настройка значения по-умолчанию)
  • Проверка заполнения (обязательность заполнения реквизита)
  • Связи параметров выбора (настройка связи между реквизитами одного объекта)
  • Параметры выбора (настройка фильтра списка при выборе значения реквизита)


2019-05-01 13:39

Программирование

  Маркет42 - Место для твоих разработок  

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

Я
   bvn13

07.10.09 — 13:45

Начал активно изучать 8.2.

Как сделать реквизит справочника обязательным для заполнения? Чтобы незаполненность отрабатывалась по типовому механизму: с подсказками платформы?

  

Партнерская программа EFSOL Oblako

   Mitriy

1 — 07.10.09 — 14:41

а пассивно изучать можно?

   NiXeR

2 — 07.10.09 — 14:43

Вроде бы свойство реквизита объекта «Проверка заполнения» — значение «Выдавать ошибку».

  

bvn13

3 — 08.10.09 — 10:07

(2) спасибо, именно так! :)

TurboConf — расширение возможностей Конфигуратора 1С

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

  • Неправильный выбор объекта;
  • Неверное количество или опечатка в наименовании;
  • Задвоение элементов справочников, их не уникальность или пересортица;
  • Игнорирование заполнения полей, критически важных для правильного расчета и бесперебойной работы программы.

Решением последней проблемы является, для восьмой версии программы 1С проверка заполнения реквизитов формы.

Проверка заполнения для обычной формы

При открытии формы пользователем, в случае если режим запуска «Обычное приложение», элементы, обязательные к заполнению выделяются красной пунктирной строкой (Рис.1).

Как видно из приведенного примера, полями документа «Реализация товаров и услуг», обязательными для заполнения, являются «Номер» и «Контрагент». При этом поле «Номер» недоступно для редактирования. Это значит, что при записи документа в информационную базу оно автоматически будет заполнено в соответствии с правилами нумерации, заданными для данной организации.

Запись элементов справочников или проведение документов, содержащих незаполненные обязательные поля, будет вызывать исключительную ситуацию (Рис. 2).

Рис. 2

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

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

  1. Открываем форму в Конфигураторе;
  2. Кликаем правой кнопкой мышки по элементу формы, и вызываем окно «Свойства»;
  3. Необходимо проставить флажки АвтоОтметкаНезаполненного и АвтоВыборНезаполненного в подменю «Использование» (Рис.3);

Непосредственная проверка, как правило, прописывается в модуле объекта.

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

Проверить отличается ли значение, переданное в поле от пустого (значения по умолчанию), можно с помощью функции ЗначениеЗаполнено(«Знач»). При этом следует иметь в виду, что если поле имеет составной тип данных, выполнение этой функции вызывает исключительную ситуацию.

Проверка в управляемых формах

Особенности работы платформы в клиент-серверном варианте накладывают свой отпечаток и на проверку заполнения.

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

Итак, после нажатия кнопки «Записать», «ОК», «Провести»:

  1. Вызывается процедура «Перед записью» на клиенте;
  2. Данные передаются на сервер и происходят события, прописанные в модуле формы на сервере (здесь можно запустить процедуру ОбработкаПроверкиЗаполненияНаСервере);
  3. Данные формы передаются в модуль объекта на сервер (появляется возможность запуска стандартной процедуры ОбработкаПроверкиЗаполнения);
  4. Данные из модуля возвращаются в модуль формы на сервер, и происходит процедура ПередЗаписьюНаСервере;
  5. Данные возвращаются в модуль объекта, и происходит еще одна процедура ПередЗаписью;
  6. Происходит непосредственная запись объекта в базу.

В любой момент этой схемы можно вставить функцию ПроверитьЗаполнение(). Пробежавшись по реквизитам, в свойствах которых реквизит «Проверка заполнения» имеет значение «Выдавать ошибку»(Рис.4), эта функция, если хоть один из них не заполнен, вернет «Ложь».

Различия между обработчиками ОбработкаПроверкиЗаполнения() и ОбработкаПроверкиЗаполненияНаСервере()

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

  1. Отказ (сюда после проверки передается ее результат);
  2. ПроверяемыеРеквизиты (тип данных – массив, если не заполнено, то будут проверяться все реквизиты, для которых в свойствах стоит «Проверять заполнение», в противном случае будут обрабатываться реквизиты, выбранные программно).

Процедура ОбработкаПроверкиЗаполненияНаСервере() позволяет выполнить проверку реквизитов, которые не относятся непосредственно к редактируемому объекту. Каждый программист сам решает, что и в каком объеме он хотел бы проверять.

Процедура ОбработкаПроверкиЗаполнения() проверяет основные реквизиты.

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

  • Подстановка единственного значения
  • Подстановка значения по отбору
  • Заполнение реквизитов по статистике
  • Подстановка ранее введенных реквизитов
  • Подстановка значений по шаблону
  • Ввод нового документа копированием

Подстановка единственного значения на который у пользователя есть права.

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

Подстановка значения по отбору, указанному в форме списка.

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

Заполнение реквизитов по статистике.

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

будут заполнены все те данные, которые были определены в соглашении или договоре;

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

Подстановка значений по шаблону.

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

Ввод нового документа копированием.

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

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

Как быстро ввести значение реквизитов в 1С?

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

Поле ввода

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

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

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

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

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

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

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

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

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

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

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

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

Флажок

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

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

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

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

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

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

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

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

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

Рассмотрим простой пример. Допустим, в прикладном решении существует документ Поступление товара
, который фиксирует факт появления в организации некоторых позиций номенклатуры:

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

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

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

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

Понравилась статья? Поделить с друзьями:

Другие крутые статьи на нашем сайте:

  • Внутренней социальной ответственности бизнеса можно отнести
  • Во времена древней руси 4 класс презентация работа с картой
  • Во время еженедельной уборки выполняют следующие виды работ
  • Во время работы за компьютером нельзя касаться труб батарей
  • Во время работы компьютера необходимые программы хранятся в

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии