Учебник по 1С

         

С:Предприятие


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

Конфигурируемость

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

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

Компонентная структура

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

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



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


Абличная часть документа




Перебор строк, добавление и удаление строк табличной части документа..

//перебор строк табличной части
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
...
КонецЦикла;

//добавление строки

Док.НоваяСтрока();

Док.РеквизитТаблЧасти = Значение;

//удаление строки

Док.УдалитьСтроку();

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

hotlog_js="1.0";hotlog_d=document; hotlog_n=navigator;hotlog_rn=Math.random(); hotlog_n_n=(hotlog_n.appName.substring(0,3)=="Mic")?0:1 hotlog_r=""+hotlog_rn+"&s=2871&r="+escape(hotlog_d.referrer)+"&pg="+ escape(window.location.href) hotlog_d.cookie="hotlog=1"; hotlog_r+="&c="+(hotlog_d.cookie?"Y":"N"); hotlog_d.cookie="hotlog=1; expires=Thu, 01-Jan-70 00:00:01 GMT"

hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N")

hotlog_js="1.2";hotlog_s=screen; hotlog_r+="&wh="+hotlog_s.width+'x'+hotlog_s.height+"&px="+((hotlog_n_n==0)? hotlog_s.colorDepth:hotlog_s.pixelDepth)

hotlog_js="1.3"

hotlog_r+="&js="+hotlog_js; hotlog_d.write("

")



Администрирование базы данных


В меню Администрирование вы найдете следующие пункты:

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



Александр


Сделано очень даже прилично, и учебничек неплохой. Хоть мне и ни к чему, а вот "чайникам" будет весьма кстати. Успехов тебе!



Александр (г.Ярославль)


Очень понравился самоучитель по 1С - "Простой Склад" - очень полезная вещь, за что очень благодарен.



Андрей


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



Атрибуты документов (реквизиты)


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

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

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

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



Атрибуты и методы результата запроса


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

Ведение списка пользователей
Редактирование списка пользователей, установка паролей, задание интерфейса и набора прав для каждого пользователя. Список пользователей, работающих с базой данных в данный момент времени можно посмотреть в Мониторе пользователей.
Сохранить данные
Сохранение конфигурации и данных в архив (создание резервных копий). В этом режиме определенные файлы упаковываются в zip-архив. Если вы работаете с SQL-версией, то для сохранения данных применяйте пункт "Выгрузить данные". Нажимайте эту кнопку почаще и ваши данные никогда не пропадут полностью.
Восстановить данные
Восстановить конфигурацию и данные с резервной копии, созданной в предыдущем режиме.
Выгрузить данные
Сохранение конфигурации и данных в архив. В этом режиме вся база данных сохраняется в особый файл "dat", который затем упаковывается в zip-архив.
Загрузить данные
Настройка журнала регистрации
Каждое действие пользователя регистрируется в журнал регистрации. Здесь можно настроить фильтр для этого журнала. Сам журнал регистрации можно посмотреть в Мониторе пользователей.
Тестирование и исправление ИБ
Тестирование и исправление информационной базы. Нажимайте эту кнопку почаще для профилактики и для исправления ошибок.
Кодовая страница таблиц ИБ
Установка кодовой страницы файлов DBF.
Распределенная ИБ
Доступно, если у вас установлена компонента "Управление распределенными базами данных (УРБД)".

Счет

КонДата

Атрибут
Описание
Текущий счет, выбранный функцией ПолучитьСчет
КорСчет
Текущий корр. счет, выбранный функцией ПолучитьКорСчет
Валюта
Текущая валюта, выбранная функцией ПолучитьВалюту
НачДата
Начальная и конечная дата текущего периода, выбранного функцией ПолучитьПериод
Операция
Атрибут позволяет обращаться к текущей операции, если запрос получен с детализацией итогов по периоду «Операция» и «Проводка».

КорСубконто

ПредставлениеСубконто

ПредставлениеКорСубконто

Синтаксис

Субконто(<Номер> | <ВидСубконто>)

КорСубконто(<Номер> | <ВидСубконто>)

Пример

БухИтоги.ИспользоватьСубконто(ВидыСубконто.Товары, , 1);

БухИтоги.ВыполнитьЗапрос(ДатаНач, ДатаКон);

БухИтоги.ВыбратьСубконто();

Пока БухИтоги.ПолучитьСубконто() = 1 цикл

......... Сообщить(БухИтоги.Субконто());

КонецЦикла;

СНК

СКД

СКК

ДО

КО

СНД — дебетовое сальдо на начало периода;

СКД — дебетовое сальдо на конец периода;

СНК — кредитовое сальдо на начало периода;

СКК — кредитовое сальдо на конец периода;

ДО — дебетовый оборот за период;

КО — кредитовый оборот за период.

Синтаксис (у всех одинаковый): СНД(<ТипСуммы>)

Параметр <ТипСуммы> может принимать следующие значения:

1 ("С") - сумма (по умолчанию)

2 ("В") - валютная сумма

3 ("К") - количество

СНДРС

СКДРС

СНКРС

СККРС

СКДРС — дебетовое развернутое сальдо на конец периода;

СНКРС — кредитовое развернутое сальдо на начало периода;

СККРС — кредитовое развернутое сальдо на конец периода;

КорКО

ВыбранаПоКт

<



Атрибуты счета


Счет имеет следующие атрибуты:

Метод
Описание
Субконто
ЭтоГруппа
Для тех субконто, которые выбираются из иерархических справочников метод возвращает 1, если текущее значение является группой справочника.
СНД
СНДРС — дебетовое развернутое сальдо на начало периода;
КорДО
Возвращает дебетовый или кредитовый оборот между корреспондирующими счетами или субконто.
ВыбранаПоДт
Эти функции возвращают 1, если выбран итог по дебету / кредиту.

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

Пример, прочитать и установить ответственного за ведение счета:

Счета = СоздатьОбъект("Счет.ОснПлан");

Счета.НайтиПоКоду("10.1");

БылОтветственный = Счета.Ответственный.Получить(НекаяДата);

Счета.Ответственный.Установить(НекаяДата, ВыбрСотрудник);

Счета.Записать();

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

Счета = СоздатьОбъект("Счет.ОснПлан");

Счета. ИспользоватьДату(НекаяДата);

Счета.НайтиПоКоду("10.1");

БылОтветственный = Счета.Ответственный;

Счета.Ответственный = ВыбрСотрудник;

Счета.Записать();



Атрибуты справочников


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

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



БУХГАЛТЕРИЯ


Атрибут
Описание
Код
Полный код счета. Например, "10.1" или "62.5.1"
Наименование
Название счета. Например, "Материалы" или "Расч. с бюдж. по НДС"
Валютный
Признак ведения валютного учета. 1 - валютный учет ведется, 0 - не ведется
Количественный
Признак ведения количественного учета. 1 - количественный учет ведется, 0 - не ведется
Забалансовый
Признак забалансового счета. 1 - счет забалансовый, 0 - балансовый
Активный
Тип остатка по счету. 1 - счет активный, 2 - счет пассивный, 3 - счет активно-пассивный
<реквизит>
Кроме стандартных вышеперечисленных реквизитов, разработчик может задать произвольное количество дополнительных реквизитов. Реквизиты могут быть периодическими, т.е. хранить значение на определенную дату. Например, может быть создан периодический реквизит "Ответственный" типа "Справочник.Сотрудники". Он будет показывать сотрудника, ответственного за ведение данного счета.

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


Компонента "Бухгалтерский учет"

Бухгалтерские счета

Операции и проводки

Бухгалтерские итоги

Бухгалтерский запрос

Простая бухгалтерия



Бухгалтерские итоги


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

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

Объект «БухгалтерскиеИтоги» может работать в 3-х различных режимах:

работа с основными итогами;

работа с временными итогами;

работа в режиме запроса;

При создании объекта он работает в режиме работы с основными итогами. Переключение его в остальные режимы выполняется методами Рассчитать и ВыполнитьЗапрос. В зависимости от режима изменяется состав и использование атрибутов и методов объекта.


Бухгалтерские счета


Утро. Воскресенье. В дупель пьяный бухгалтер с трудом отрывает голову от стола, видит запись вчерашней игры в преферанс, и ошеломленно шепчет "... Тридцать лет работаю бухгалтером... но чтобы ЧЕТЫРЕХсторонний баланс..."

Перебор счетов

Атрибуты счета

Счета и субсчета

Виды субконто

Список счетов

Другие полезности

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



Бухгалтерский запрос


Для получения большого количества итогов в различных разрезах объект «Бухгалтерские Итоги» переключается в режим работы с запросом. Для переключения в этот режим вызывается метод ВыполнитьЗапрос в параметрах которого, а также дополнительными методами устанавливается состав итогов, которые будут получены запросом. Выполнение данного метода осуществляет выборку данных и их предварительную обработку.

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



Чтение файла DBF


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

Файл = создатьОбъект("XBASE"); //создаем ссылку на файл DBF

Файл.ОткрытьФайл("catalog.dbf"); //открываем файл на диске

Файл.КодоваяСтраница(1); //задаем кодировку: 0 - windows, 1 - DOS

Если Файл.Открыта()=0 Тогда //проверяем, удалось ли открыть файл

........Сообщить("Не удалось открыть файл!");

КонецЕсли;

Файл.Первая(); //позиционируемся на первой записи

Пока Файл.ВКонце()=0 Цикл //пока не дошли до конца, крутим цикл

.......НомерЗаписи = Файл.НомерЗаписи(); //получаем номер текущей записи

.......НазвТовара = Файл.NAME; //получаем значение поля

.......Цена = Файл.ПолучитьЗначениеПоля("PRICE"); //так тоже можно, но чуть медленнее

.......Файл.Следующая(); //переходим на следующую запись

КонецЦикла;

Файл.Последняя(); //позиционируемся на первой записи

Пока Файл.ВНачале()=0 Цикл //пока не дошли до начала, крутим цикл

.......НазвТовара = Файл.NAME;

.......Цена = Файл.PRICE;

.......Файл. Предыдущая(); //переходим на предыдущую запись

КонецЦикла;

Для н = 1 По Файл.КоличествоЗаписей() Цикл //здесь все понятно, по-моему

......Файл.Перейти(н); //позиционируемся на определенной записи

.......НазвТовара = Файл.NAME;

.......Цена = Файл.PRICE;

КонецЦикла;

Файл.ЗакрытьФайл(); //не забывайте пожалуйста



Что такое 1С ?


(произносится как "один эс", "один це" или "один сэ" ;-)

1С -- это фирма, которая разработала систему 1С:Предприятие. Фирма 1С основана в 1991 году Борисом Нуралиевым и его братом Сергеем. На сегодняшний день в фирме 1С работает около 200 человек. Лидерством в российском софтверном бизнесе фирма 1С обязана своей разветвленной сети партнеров и своему суперпродукту "1С:Предприятие".

Подробнее..



Что такое 1С:Предприятие?


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

Подробнее...



Цикл по реквизитам справочника


кфгСпрСотр = Метаданные.Справочник("Сотрудники");

КолвоРеквизитов = кфгСпрСотр.Реквизит();

Для Ном=1 to КолвоРеквизитов Цикл

кфгРекв = кфгСпрСотр.Реквизит(Ном);

Идентификатор = кфгРекв.Идентификатор();

ПолныйИдентификатор = кфгРекв.ПолныйИдентификатор();

Синоним = кфгРекв.Синоним();

Комментарий = кфгРекв.Комментарий();

Тип = кфгРекв.Тип(); //"Строка", "Число", "Справочник"

Вид = кфгРекв.Вид(); //напр. "Сотрудники"

Длина = кфгРекв.Длина();

Точность = кфгРекв.Точность();

Периодический = кфгРекв.Периодический();

.....<и так далее>

КонецЦикла;

т.е. если вызвать метод Метаданные.Справочник(Х).Реквизит() без параметров, то он вернет общее количество реквизитов справочника Х в конфигурации. Если передать ему в качестве параметра номер или название реквизита, то он вернет реквизит справочника как объект конфигурации.



Цикл по справочникам


КолвоСправочниковВКонфигурации = Метаданные.Справочник();

Для Ном=1 to КолвоСправочниковВКонфигурации Цикл

кфгСпр = Метаданные.Справочник(Ном);

Идентификатор = кфгСпр.Идентификатор();

ПолныйИдентификатор = кфгСпр.ПолныйИдентификатор();

Синоним = кфгСпр.Синоним();

Комментарий = кфгСпр.Комментарий();

КоличествоУроней = кфгСпр.КоличествоУроней();

ПодчиненЛи = кфгСпр.Владелец().Выбран();

Владелец = кфгСпр.Владелец();

ИдентификаторВладельца = кфгСпр.Владелец().Идентификатор;

.....<и так далее>

КонецЦикла;

т.е. если вызвать метод Метаданные.Справочник() без параметров, то он вернет общее количество справочников в конфигурации. Если передать ему в качестве параметра номер или название справочника, то он вернет справочник как объект конфигурации.



Денежки (пример)


Постановка задачи

Объекты конфигурации

Спр. Участники

Спр. Кошельки

Спр. Статьи доходов

Спр. Статьи расходов

Док. Ввод нач. остатков

Док. Доход

Док. Расход

Док. Перевод

Отчет Остатки

Отчет Доходы и расходы

Что можно скачать



Денис (г.Днепропетровск)


Здорово! Правда здорово и очень полезно. К тому же сделано с умом и заботой о пользователях. Особенно порадовала возможность скачки учебников одним файлом. Этой возможностью часто пренебрегают создатели сайтов, что приводит к большому геморою ;) Спасибо, мастер. Спасибо от всей души.



Дерево конфигурации (метаданные)


Быть было беде, да случились деньги на бедре.

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

Каждый объект имеет свойства и контекстное меню (вызывается правой кнопкой мыши).

Также к конфигурации относятся Интерфейсы и Права. Для их вызова нужно щелкнуть вкладки, расположенные внизу дерева конфигурации.

Кроме того, когда окно дерева конфигурации активно в меню Действия становятся доступными пункты "Глобальный модуль", "Общие таблицы" и "Библиотека картинок".



Диаграммы в 1С


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



Добавление строк в таблицу значений


ТабЗнач.НоваяСтрока();

ТабЗнач.Номер = 1;

ТабЗнач.Сотрудник = "Иванов Иван Иванович"; //следите за типом колонки!

ТабЗнач.Должность = "Программист";

ТабЗнач.Оклад = 20000;

ТабЗнач.НоваяСтрока();

ТабЗнач.Номер = 2;

ТабЗнач.Сотрудник = "Петров Петр Петрович";

ТабЗнач.Должность = "Бухгалтер";

ТабЗнач.Оклад = 10000;

//обычно строки добавляются в цикле

СпрСотр = СоздатьОбъект("Справочник.Сотрудники");

СпрСотр.ВыбратьЭлементы();

Пока СпрСотр.ПолучитьЭлемент()=1 Цикл

.....ТабЗнач.НоваяСтрока();

.....ТабЗнач.Номер = СпрСотр.Код;

.....ТабЗнач.Сотрудник = СпрСотр.ТекущийЭлемент(); //следите за типом колонки!

.....ТабЗнач.Должность = СпрСотр.Должность;

.....ТабЗнач.Оклад = СпрСотр.Оклад;

КонецЦикла;



Добавление значений в список


Синтаксис: ДобавитьЗначение(<значение>,[<представление>]);

//у каждого значения в СпискеЗначений есть экранное представление

//если оно не указано, то используется стандартное строковое представление объекта

СписокЗнач.ДобавитьЗначение("Иванов Иван Иванович");

СписокЗнач.ДобавитьЗначение(Сотрудник);

СписокЗнач.ДобавитьЗначение(1,"Значение №1");

СписокЗнач.УстановитьЗначение(3,3,"Значение №3"); //установить новое значение и представление 3-й позиции



Доходы


Определять доходы магазина можно по регистру Доходы с помощью отчетов СводнаяТаблица и ОтчетПоРегистру, разработанных фирмой КИНТ.



Документ "Доход"


Экранная форма документа выглядит следующим образом:

Модуль проведения:

Процедура ОбработкаПроведения()

Регистр.Доходы.Участник = Участник;

Регистр.Доходы.Статья = Статья;

Регистр.Доходы.Сумма = Сумма;

Регистр.Доходы.ДвижениеВыполнить();

Регистр.Кошельки.Кошелек = Кошелек;

Регистр.Кошельки.Сумма = Сумма;

Регистр.Кошельки.ДвижениеПриходВыполнить();

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



Документ "Перевод"


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

Модуль проведения:

Процедура ОбработкаПроведения()

Регистр.Кошельки.Кошелек = КошелекОткуда;

Регистр.Кошельки.Сумма = Сумма;

Регистр.Кошельки.ДвижениеРасходВыполнить();

Регистр.Кошельки.Кошелек = КошелекКуда;

Регистр.Кошельки.Сумма = Сумма;

Регистр.Кошельки.ДвижениеПриходВыполнить();

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



Документ "Письмо"


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

А на вкладке Приложения прицеплены сами товары с комментариями!

При сохранении письма производится следующее. У адресата устанавливается в единицу флажок ЕстьПисьмо в спр. Пользователи. Каждые несколько секунд (интервал настраивается в константах) производится проверка новой почты, если флажок взведен и есть новые непрочитанные письма, о которых еще не было оповещения, тогда пользователю выдается сообщение "Пришла почта! Прочитать?". Флажок ЕстьПисьмо снимается и утех писем, о которых пользователь был оповещен, устанавливается флажок БылоОповещение. Если пользователь ответит Да, тогда откроется его почтовый ящик (журнал Письма).



Документ "Потеря книги"


Экранная форма документа выглядит следующим образом:

Модуль формы см. в конфигурации "Мини-библиотека".

Модуль проведения:

Процедура ОбработкаПроведения()

СпрКниги = создатьОбъект("Справочник.Книги");

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 Цикл

СпрКниги.НайтиЭлемент(Книга);

СпрКниги.Статус = Перечисление.СтатусКниги.Списана;

СпрКниги.Читатель = 0;

СпрКниги.ДатаВыдачи = 0;

СпрКниги.СрокВозврата = 0;

СпрКниги.Записать();

КонецЦикла;

УстановитьРеквизитСправочника(Читатель, "Блокирован", Перечисление.ДаНет.Да, ДатаДок);

УстановитьРеквизитСправочника(Читатель, "Блокирован", Перечисление.ДаНет.Нет, ДатаДок + Константа.КолвоДнейБлокировки);

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



Документ "Приход"


Экранная форма документа Приход выглядит следующим образом:

Модуль проведения:

Процедура ОбработкаПроведения()

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 Цикл

Регистр.ОстаткиМатериалов.Материал = Материал;

Регистр.ОстаткиМатериалов.Склад = Склад;

Регистр.ОстаткиМатериалов.Количество = Количество;

Регистр.ОстаткиМатериалов.ДвижениеПриходВыполнить();

КонецЦикла;

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



Документ "Продление книги"


Экранная форма документа выглядит следующим образом:

Модуль формы см. в конфигурации "Мини-библиотека".

Модуль проведения:

Процедура ОбработкаПроведения()

СпрКниги = создатьОбъект("Справочник.Книги");

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 Цикл

Если Число(НовыйСрокВозврата)<>0 Тогда

СпрКниги.НайтиЭлемент(Книга);

СпрКниги.СрокВозврата = НовыйСрокВозврата;

СпрКниги.Записать();

КонецЕсли;

КонецЦикла;

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



Документ "Расход"


Экранная форма документа выглядит следующим образом:

Модуль проведения:

Процедура ОбработкаПроведения()

Регистр.Расходы.Участник = Участник;

Регистр.Расходы.Статья = Статья;

Регистр.Расходы.Сумма = -Сумма;

Регистр.Расходы.ДвижениеВыполнить();

Регистр.Кошельки.Кошелек = Кошелек;

Регистр.Кошельки.Сумма = Сумма;

Регистр.Кошельки.ДвижениеРасходВыполнить();

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


Экранная форма документа Расход выглядит следующим образом (отличается только названием):

Модуль проведения:

Процедура ОбработкаПроведения()

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 Цикл

Регистр.ОстаткиМатериалов.Материал = Материал;

Регистр.ОстаткиМатериалов.Склад = Склад;

Регистр.ОстаткиМатериалов.Количество = Количество;

Регистр.ОстаткиМатериалов.ДвижениеРасходВыполнить();

КонецЦикла;

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



Документ "Сообщение"


Данный документ является коротким сообщением в общий чат. При сохранении документа он отражается в журнале Чат.



Документ "Возврат книги"


Экранная форма документа выглядит следующим образом:

Модуль формы см. в конфигурации "Мини-библиотека".

Модуль проведения:

Процедура ОбработкаПроведения()

СпрКниги = создатьОбъект("Справочник.Книги");

СпрЧитатели = СоздатьОбъект("Справочник.Читатели");

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 Цикл

СпрКниги.НайтиЭлемент(Книга);

Если СпрКниги.СрокВозврата < ДатаДок Тогда

СпрЧитатели.НайтиЭлемент(Читатель);

СпрЧитатели.КоличествоПредупреждений = СпрЧитатели.КоличествоПредупреждений + 1;

СпрЧитатели.Записать();

Если СпрЧитатели.КоличествоПредупреждений > Константа.МаксКолвоПредупреждений Тогда

УстановитьРеквизитСправочника(Читатель, "Блокирован",Перечисление.ДаНет.Да, ДатаДок);

УстановитьРеквизитСправочника(Читатель, "Блокирован",Перечисление.ДаНет.Нет, ДатаДок + Константа.КолвоДнейБлокировки);

КонецЕсли;

КонецЕсли;

СпрКниги.Статус = Перечисление.СтатусКниги.Свободна;

СпрКниги.Читатель = 0;

СпрКниги.ДатаВыдачи = 0;

СпрКниги.СрокВозврата = 0;

СпрКниги.Записать();

КонецЦикла;

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



Документ "Ввод начальных остатков"


Экранная форма документа выглядит следующим образом:

Модуль проведения:

Процедура ОбработкаПроведения()

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 Цикл

Регистр.Кошельки.Кошелек = Кошелек;

Регистр.Кошельки.Сумма = Сумма;

Регистр.Кошельки.ДвижениеПриходВыполнить();

КонецЦикла;

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



Документ "Выдача книги"


Экранная форма документа выглядит следующим образом:

Модуль формы см. в конфигурации "Мини-библиотека".

Модуль проведения:

Процедура ОбработкаПроведения()

СпрКниги = создатьОбъект("Справочник.Книги");

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 Цикл

СпрКниги.НайтиЭлемент(Книга);

СпрКниги.Статус = Перечисление.СтатусКниги.Выдана;

СпрКниги.Читатель = Читатель;

СпрКниги.ДатаВыдачи = ДатаДок;

СпрКниги.СрокВозврата = СрокВозврата;

СпрКниги.Записать();

КонецЦикла;

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



ДОКУМЕНТЫ


Создание документа

Поиск документа

Удаление документа

Перебор документов

Табличная часть

он еще раз просмотрел свой паспорт и свидетельство о рождении.



Домашнее задание


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


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



Дополнительные функции


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

Поиск нужной книги по названию, автору, жанру и другим известным признакам.

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

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

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

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

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


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

Единицы измерения для каждого материала. У материала есть основная единица измерения (выбирается из справочника ЕдиницыИзмерения), в которых хранятся остатки в регистре. При приходовании и расходовании материала пользователь может указать любую единицу измерения, допустимую для данного материала (выбирается из подчиненного справочника ЕдИзмМатериалов). Программа пересчитывает указанное количество в основную единицу измерения с использованием коэффициента пересчета из справочника ЕдИзмМатериалов. В отчет добавляется новая колонка "Ед. изм."

Учет денежного выражения. В регистр Материалы добавляется новый ресурс СуммаРуб. (название Сумма не рекомендуется, так как есть встроенная функция Сумма в языке запросов). В отчете выводятся две колонки: Количество и Сумма. Должна быть возможность выводить только одну колонку по требованию пользователя. По колонке Сумма должны выводиться итоги по каждой группе материалов и по всему отчету.

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

Партионный учет. Списание материалов по средней себестоимости / по методу FIFO / LIFO. В регистр добавляется новое измерение Партия (типа Документ). При расходовании материала подсчитывается сумма списания по заданному методу. Метод задается пользователем в константе МетодСписанияМатериалов (выбирается из перечисления МетодыСписанияМатериалов).



Доставочка (пример)


Ссылка на документ
Сегодня Ельцин весь день проработал с документами:

Постановка задачи

Объекты конфигурации

Справочники

Документ "Приход товара"

Документ "Заказ"

Документ "Снятие заказа"

Документ "Путевой лист"

Документ "Отчет курьера"

Отчет "Товары"

Отчеты о доходах

Что можно скачать

- Драку на 50 человек заказывали?

- Нет, что вы!

- Оплачено!



Другие методы


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



Другие полезные методы


УстановитьВремя()

ПроводкаВыбрана()

ПредставлениеСубконто()

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

Процедура ОбработкаПроведения()

Сч20 = СчетПоКоду("20");

Cч40 = CчeтПoKoдy("40");

СписаниеСчетаНаСч20(СчетПоКоду("25"));

СписаниеСчетаНаСч20(СчетПоКоду("26"));

Операция.ЗаписатьПроводки();

СписаниеСчета20На40();

Операция.Содержание = "Закрытие фин. результатов за " + Формат(ДатаДок, "Д ММММГГГГ");

Операция.Записать();

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

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

<


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

Метод
Описание
НайтиПоКоду(код)
Этот метод выполняет поиск счета в плане счетов по коду счета, который передается методу в качестве параметра. Если счет найден, метод возвращает 1 и позиционирует объект на выбранном счете.
НайтиСчет(<счет>)
Этот метод выполняет поиск счета по значению, заданному параметром <Счет>, и позиционирует объект на выбранном счете.
Выбран()
Этот метод возвращает число со значением 1 — если счет выбран (спозиционирован) или значение не пустое, 0 — если не выбран или значение пустое.
Выбрать()
Этот метод вызывает на экран диалог, содержащий план счетов. Пользователь должен интерактивно выбрать требуемый счет. Если счет выбран, метод возвращает 1 и позиционирует объект на выбранном счете. Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект.
СчетПоКоду(код[,плансчетов])
Глобальная системная функция. Возвращает счет по коду. Если план счетов не указан, тогда поиск осуществляется в основном плане счетов, заданном в Конфигураторе.
ОсновнойПланСчетов()
Глобальная системная функция. Возвращает план счетов, заданный в Конфигураторе в качестве основного.

pl="";sl="1.1";j = (navigator.javaEnabled()?"Y":"N");

sl="1.2";s=screen;px=(n==0)?s.colorDepth:s.pixelDepth; z+="&wh="+s.width+'x'+s.height+"&px="+px;

sl="1.3"

y="";y+=""; y+="

"; y+=""; d.write(y); if(!n) { d.write("

hotlog_js="1.0";hotlog_d=document; hotlog_n=navigator;hotlog_rn=Math.random(); hotlog_n_n=(hotlog_n.appName.substring(0,3)=="Mic")?0:1 hotlog_r=""+hotlog_rn+"&s=2871&r="+escape(hotlog_d.referrer)+"&pg="+ escape(window.location.href) hotlog_d.cookie="hotlog=1"; hotlog_r+="&c="+(hotlog_d.cookie?"Y":"N"); hotlog_d.cookie="hotlog=1; expires=Thu, 01-Jan-70 00:00:01 GMT"

hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N")

hotlog_js="1.2";hotlog_s=screen; hotlog_r+="&wh="+hotlog_s.width+'x'+hotlog_s.height+"&px="+((hotlog_n_n==0)? hotlog_s.colorDepth:hotlog_s.pixelDepth)

hotlog_js="1.3"

hotlog_r+="&js="+hotlog_js; hotlog_d.write("

")




u="u045.09.spylog.com";d=document;nv=navigator;na=nv.appName;p=0;j="N"; d.cookie="b=b";c=0;bv=Math.round(parseFloat(nv.appVersion)*100); if (d.cookie) c=1;n=(na.substring(0,2)=="Mi")?0:1;rn=Math.random(); z="p="+p+"&rn="+rn+"&c="+c;if (self!=top) {fr=1;} else {fr=0;} sl="1.0";

Возвращает строковое значение, содержащее пользовательское представление вида справочника (синоним).

<ИмяРеквизита> - строковое выражение, содержащее имя реквизита, как оно задано в конфигураторе. <Значение> - выражение, содержащее устанавливаемое значение реквизита.

Возвращает 1 - если элемент справочника выбран, 0 - если не выбран. Часто применяется для проверки на ошибки, чтобы все необходимые данные были указаны.

Возвращает: 1 - если элемент выбран; 0 - если не выбран. Выбранный элемент становится текущим.

Метод
Описание
Вид()
Установить или считать текущее название вида справочника. Возвращает текущее название вида справочника, как оно задано в Конфигураторе, например "Сотрудники". Установка вида справочника возможна для реквизитов типа "Справочник", т.е. справочник неопределенного вида.
ПредставлениеВида()
Получить пользовательское представление вида справочника, как он задан в конфигураторе.
УстановитьАтрибут(ИмяРеквизита, Значение)
Установить значение реквизита по его имени.
ПолучитьАтрибут(ИмяРеквизита)
Получить значение реквизита по его имени. Возвращает значение реквизита.
Выбран()
Выбрать(...)
Вызов диалога для выбора элемента справочника.



Два вспомогательных метода диаграммы


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

Диаграмма1.Обновление(0);

//то же выражение, но с флагом 1 разрешит перерисовку

Очистка всех установленных значений имен и количеств точек, серий, диаграммы делается так:

Диаграмма1.Очистить();



Движения в регистрах


В табличном виде регистр ОстаткиТоваров представляется следующим образом:

Одна строка из этой таблицы называется "движение". Движения в регистрах создаются только при проведении документов. В регистре, кроме измерений и ресурсов, можно задать реквизиты. Реквизиты - это дополнительные сведения, сопровождающие движение. Методами встроенного языка можно отбирать движения с заданным значением реквизита.



Двойная группировка


Этот запрос совершает очень полезную работу: он группирует всех сотрудников по должностям. Заметьте, что сначала идет группировка по должности, а затем по сотруднику, это очень важно. Обратите внимание на переменную запроса Сотр. Она ссылается на строку справочника Сотрудники. Чтобы вывести ФИО сотрудника используется обращение к атрибуту объекта: Сотр.Наименование.

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса = "

|Сотр = Справочник.Сотрудники.ТекущийЭлемент;

|Долж = Справочник.Сотрудники.Должность;

|Группировка Долж упорядочить по Долж.Наименование;

|Группировка Сотр упорядочить по Сотр.Наименование;

|";

Запрос.Выполнить(ТекстЗапроса);

Пока Запрос.Группировка("Долж")=1 Цикл

............Сообщить(Запрос.Долж);

............Пока Запрос.Группировка("Сотр")=1 Цикл

................Сообщить("......" + Запрос.Сотр.Наименование);

............КонецЦикла;

КонецЦикла;



Файловая система


Для работы с файлами и каталогами в 1С:Предприятие используется специальный объект "ФС" (файловая система). Средства языка 1С имеют возможности поиска, копирования, переименования, удаления и совершения других операций с файлами и каталогами.



Фильтрация движений и итогов


РегТовары = СоздатьОбъект("Регистр.Товары");

1. Метод УстановитьФильтр

Синтаксис: УстановитьФильтр(,...,,)

Пример:

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

РегТовары.УстановитьФильтр(,ТекСклад);

РегТовары.ВыбратьДвижения(ДатаНач, ДатаКон);

Пока РегТовары.ПолучитьДвижение()=1 Цикл

...

КонецЦикла;

//выбрать все товары на данном складе

РегТовары.УстановитьФильтр(,ТекСклад);

РегТовары.ВыбратьИтоги();

Пока РегТовары.ПолучитьИтог()=1 Цикл

...

КонецЦикла;

2. Метод УстановитьЗначениеФильтра

Синтаксис: УстановитьЗначениеФильтра(,,)

Пример:

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

РегТовары.УстановитьЗначениеФильтра("Склад", ТекСклад);

//далее идет выборка движений или итогов

3. Метод ВыбратьДвиженияДокумента (<Документ>)


4. Метод ВыбратьДвиженияСОстатками (,)

Применяется только для регистра остатков.



Фильтрация (отбор)


СпрСотр = СоздатьОбъект("Справочник.Сотрудники");

РежимИерархии = 1; //1- выбирать с учетом иерархии, 0 - без учета

РежимГрупп = 0; //0 - не включать в выборку группы, 1 - включать

ИмяРеквизита = "Год"; //в Конфигураторе у реквизита должен быть установлен флажок Отбор

Значение = 1980;

СпрСотр.ВыбратьЭлементыПоРеквизиту(ИмяРеквизита,Значение,РежимИерархии, РежимГрупп);

Пока СпрСотр.ПолучитьЭлемент()=1 Цикл

.....<действия с очередным элементом>

КонецЦикла;



Фильтрация по графе отбора


синтаксис: ВыбратьПоЗначению (<НачалоПериода>, <КонецПериода> , <ВидОтбора>, <3начениеОтбора>)

Параметр <ВидОтбора> для отбора операций может принимать следующие значения:

Товар Склад Кол-во Стоимость
приход
Товар4 Склад1 15 200
расход
Товар4 Склад1 10 100
приход
Товар4 Склад1 5 50
...
... ... ... ...

Параметр <ВидОтбора> для отбора проводок может принимать следующие значения:

"СуммаОперации"
Отбор по сумме операции. Доступно если в метаданных включен отбор по сумме опера­ции.
"Содержание"
Отбор по содержанию операции. Доступно если в метаданных включен отбор по содер­жанию операции.
<РеквизитОперации>
Отбор по дополнительному реквизиту операции. Идентификатор реквизита должен быть указан так, как это задано в метаданных. Доступно если в метаданных включен отбор по реквизиту операции.

ВидСубконто>

<РеквизитПроводки>

После выполнения данного метода обход операций (проводок) осуществля­ется методами ПолучитьОперацию и ПолучитьПроводку.



Фильтрация по субконто


Пример, выбрать все проводки по счету 60 для заданной организации

Опер = СоздатьОбъект("Операция");

Опер.ИспользоватьСубконто(ВидыСубконто.Организации, ВыбОрг);

Опер.ВыбратьОперацииСПроводками(ДатаНач, ДатаКон, "60");

Пока Опер.ПолучитьПроводку() = 1 Цикл

.....Сообщить("Сумма " + Опер.Сумма);

КонецЦикла;

Пример, выбрать все проводки по счету 10 для заданного материала и заданного склада

Опер = СоздатьОбъект("Операция");

Опер.ИспользоватьСубконто(ВидыСубконто.Материалы, ВыбрМатериал);

Опер.ИспользоватьСубконто(ВидыСубконто.Склады, ВыбрСклад);

Опер.ВыбратьОперацииСПроводками(ДатаНач, ДатаКон, "10");

Пока Опер.ПолучитьПроводку() = 1 Цикл

.....Сообщить("Сумма " + Опер.Сумма);

КонецЦикла;

Метод ИспользоватьКорСубконто аналогичен методу ИспользоватьСубконто, но задает фильтр по корреспондирующим субконто.

В качестве значения субконто в этим методы можно передавать «Список значений».



Фильтрация в цикле


СпрСотр = СоздатьОбъект("Справочник.Сотрудники");

СпрСотр.ИспользоватьРодителя(грпРаботающие);

СпрСотр.ИспользоватьДату(РабочаяДата());

СпрСотр.ВыбратьЭлементы();

Пока СпрСотр.ПолучитьЭлемент()=1 Цикл

Если СпрСотр.Должность <> длжПлотник Тогда

....Продолжить; //этого сотрудника пропускаем, перейти в начало цикла

КонецЕсли;

<действия с очередным элементом>

КонецЦикла;



Форма элемента и форма группы


Если справочник имеет сложную структуру, тогда его элементы удобнее редактировать в отдельном окне, а не в списке. Ниже приведена форма элемента справочника Сотрудники.

В форме элемента справочника также есть предопределенные процедуры:

"Счет"
Отбор по счету дебета или счету кредита проводки. Доступно если в метаданных вклю­чен отбор по счетам проводок.
"СчетДт"
Отбор по счету дебета проводки. Доступно если в метаданных включен отбор по дебе­ту/кредиту счетов проводок.
"СчетКт"
Отбор по счету кредита проводки. Доступно если в метаданных включен отбор по дебе­ту/кредиту счетов проводок.
"Валюта"
Отбор по валюте проводки. Доступно если в метаданных включен отбор по валюте прово­док.
Отбор по виду субконто. Идентификатор вида субконто должен быть указан так, как он задан в метаданных. Доступно если в метаданных включен отбор по этому виду субконто.
Отбор по дополнительному реквизиту проводки. Идентификатор реквизита должен быть указан так, как он задан в метаданных. Доступно если в метаданных включен отбор по этому реквизиту проводки

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

Пример, справочник Сотрудники

Процедура ПриЗаписи

....Если Категория.Выбран()=0 Тогда

.........Предупреждение("Не указана категория сотрудника!");

.........СтатусВозврата(0);

.....КонецЕсли;

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

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