С Режим Конфигуратор

         

Наполнение данными диаграммы


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

ОбработкаДиаграммы(Таб.ТекущийОбъект)

где: ОбработкаДиаграммы - имя процедуры, Таб - имя выходной таблицы (должна быть предварительно создана методом СоздатьОбъект()).

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

Процедура СформироватьДиаграмму(Диаграмма1)

где Диаграмма1 - идентификатор, в который передается контекст объекта Диаграмма. Все методы объекта записываются через точку после идентификатора.



Наряд на сборку


20 (Основное производство)

10.2 (Материалы.Покупные полуфабрикаты и комплектующие изделия, конструкции и детали)





Назначение документов


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

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

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

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



Назначение конфигуратора


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

Итак, основное правило:

В режиме Конфигуратор - мы определяем структуру базы данных и пишем программы.

В режиме Предприятие мы используем программы и вводим данные.



Назначение конструкторов


Конфигуратор системы 1С:Предприятие включает набор Конструкторов — вспомогательных инструментов, облегчающих и ускоряющих создание типовых элементов конфигурации. Конструктор «ведет пользователя за руку» по этапам создания объекта метаданных, снабжая подсказками и позволяя, если необходимо, возвращаться к предыдущим этапам и переопределять ранее заданные параметры.

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

Пользуйтесь конструкторами, но не забывайте, что то же самое можно сделать "ручками". Иногда это труднее, но позволяет сделать ВСЕ, на что способна 1С. Это примерно так же, как знать HTML и знать Dreamweaver. С помощью Dreamweaver создавался этот сайт, но иногда приходилось подправлять "ручками" HTML-код. Такая совместная работа конструктора и человека неимоверно эффективна! Для простых задач можно пользоваться конструкторами. Для сложных задач или для реализации некоторых "изюминок" приходится стучать по клавиатуре. Такова селяви, как любят говорить русские.



Назначение отчетов


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



Назначение подчиненных справочников


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

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

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

Внешне работа с подчиненным справочником в системе 1С:Предприятие будет выглядеть следующим образом.

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

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

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



НДС


1

Болты (ГОСТ 7798-70)

1

  Болт М12

осн ставка

  2

  Болт М16

осн ставка

2

Гайки

  1

  Высокие (ГОСТ 15524-70)

    1

    Гайка М12

осн ставка

    2

    Гайка М16

осн ставка

  2

  Средние (ГОСТ 5927-70)

    1

    Гайка М12

осн ставка

    2

    Гайка М16

осн ставка

  3

  Низкие (ГОСТ 5929-70)

    1

    Гайка М12

осн ставка

    2

    Гайка М16

осн ставка

3

Шайбы (ГОСТ 11371-78)

  1

  Шайба М12

осн ставка

  2

  Шайба М16

осн ставка

2.11 Справочник Изделия.

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

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

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

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

Соберем все сведения по справочнику Изделия в таблицу:

Идентификатор: Изделия

Подчинен: нет

Количество уровней: 2

Код: 10 Тип кода: строка Серии кодов: подчинение

Наименование: 25

Основное представление: наименование

Группы сверху: да

Автонумерация: да Уникальность: да

Одна форма для элемента и группы?: нет

Редактировать: в диалоге

"Код" – артикул изделия.

"Наименование" – Название изделия.

Реквизит

Описание

ТипЗначения

Доп.

Исп.

Изм.

Расценка

расценка операции "сборка"

Число 10.2

+

Э

Цена

отпускная цена

Число 10.2

+, П

Э

Р

НДС

ставка НДС

С.НДС

Э




Создаем справочник:

Создаем форму группы;

Создаем форму элемента;

В модуль формы элемента пишем процедуру:

Процедура ВводНового()

  НДС=Константа.ОснНДС;

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

Создаем форму списка;



2.12 Справочник Комплектация.

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

Идентификатор: Комплектация

Подчинен: Изделия

Количество уровней: 1

Код: 0       Тип кода: число     Серии кодов: подчинение

Наименование: 25

Основное представление: наименование

Группы сверху: да

Автонумерация: да       Уникальность: да

Одна форма для элемента и группы?: нет

Редактировать: в диалоге

"Код" – нет.

"Наименование" – Название комплектующего.

Реквизит

Описание

ТипЗначения

Доп.

Исп.

Изм.

Комплектующее

то, что входит в спецификацию

С.Комплектующие

Кол

количество комплектующих на одно изделие

Число 3.0

+

Создаем справочник:

Создаем форму элемента;

Поле ввода "Наименование" сделаем недоступным, и будем пропускать при вводе;

В поле ввода "Комплектующее" в формулу пишем Компл();


В модуль формы элемента пишем процедуру:

Процедура Компл()

  НазвРодителя=СокрЛП(Комплектующее.Родитель.Наименование);

  Поз1=Найти(НазвРодителя,"(");

  Поз2=Найти(НазвРодителя,")");

  ГОСТ=Сред(НазвРодителя,Поз1+1,Поз2-Поз1-1);

  Наименование=СокрЛП(Комплектующее.Наименование)+" "+ГОСТ;

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

Создаем форму списка;

Поле Комплектующее в форму списка вставлять не будем, хватит и его названия в поле Наименование;



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

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


НДС


1

М12

АБВ-123

Изделие №1

5.00

70.00



Непосредственное удаление


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

СпрСотр.НайтиЭлемент(ВыбрСотрудник);

СпрСотр.Удалить(); //непосредственное удаление



Номер документа


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

Док = СоздатьОбъект("Документ.Счет");

Док.Новый();

Сообщить("Документу был автоматически присвоен № " + Док.НомерДок);

Док.НомерДок = "000013";

Сообщить("Установлен новый № " + "000013");



Объект "Периодический"


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

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

ИсторияКарьеры = СоздатьОбъект("Периодический");

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

ИсторияКарьеры.ВыбратьЗначения(НачГода(РабочаяДата(),КонГода(РабочаяДата()));

Пока ИсторияКарьеры.ПолучитьЗначение()=1 Цикл

....Сообщить(Строка(ИсторияКарьеры.ДатаЗнач) + " " + Строка(ИсторияКарьеры.Значение));

КонецЦикла;

С помощью объекта Периодический можно также редактировать и удалять значения. Полный список методов см. в Синтакс-помощнике.



Объекты


Справочники

Материалы (количество уровней: 3)

Склады

Документы

Приход

(реквизиты шапки: Склад,

реквизиты табличной части: Материал, Количество)

Расход

(реквизиты шапки: Склад,

реквизиты табличной части: Материал, Количество)

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

Журналы документов

Складские

Регистры

ОстаткиМатериалов

Отчеты

ОстаткиМатериалов



Объекты


Справочники

Работодатели

Соискатели

Вакансии

Резюме

Должности

Перечисления

ВидОбразования

ГрафикРаботы

Пол

Обработки

ЧисткаБазы



Объекты


Справочники

Пользователи

Черный список (подчинен спр. Пользователи)

Документы

Письмо

Сообщение

Журналы

Письма

Чат

Обработки

ЧисткаБазы



Объекты


Справочники

Участники

Кошельки (доп. реквизит Участник)

Статьи доходов

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

Документы

Доход

(реквизиты шапки: Участник, Статья, Кошелек, Сумма)

Расход

(реквизиты шапки: Участник, Статья, Кошелек, Сумма)

Перевод

(реквизиты шапки: КошелекОткуда, КошелекКуда, Сумма)

ВводНачОстатков

(реквизиты табличной части: Кошелек, Сумма)

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

Создайте два общих реквизита Автор и Комментарий текстового типа.

Журналы документов

ВсеДокументы

Регистры

Кошельки (регистр остатков)

Доходы (оборотный регистр)

Расходы (оборотный регистр)

Отчеты

Остатки

ДоходыРасходы



Объекты


Константы

МаксКолвоПредупреждений

МаксКолвоКнигНаРуках

КолвоДнейБлокировки

КолвоДнейДляВыдачи

Справочники

Произведения

Книги (подчинен спр. Произведения)

Читатели

ЖанрыКниг

Авторы

Перечисления

СтатусКниги (значения: Свободна, Выдана, Списана)

ДаНет (значения: Да, Нет)

Документы

ВыдачаКниги

ПродлениеКниги

ВозвратКниги

ПотеряКниги

Журналы документов

Библиотека

Отчеты

БиблиотечнаяВыписка

ДолгиЧитателя



Объекты


Справочники

Клиенты

Товары

Курьеры

Районы

Документы

ПриходТовара

Заказ

СнятиеЗаказа

ПутевойЛист

ОтчетКурьера

Регистры



Объекты


Константы

НазваниеОрганизации

СтавкаПН (периодич.)

Справочники

Сотрудники

НалоговыеЛьготы (подчинен спр.Сотрудники)

Категории

Подразделения

Должности

Разряды

ТипНалоговойЛьготы

ОснованияУвольнения

Перечисления

нет

Документы

ПриемНаРаботу

Перемещение

Увольнение

НачалоМесяца

ВводНевыходов

ВводПремий

Журналы документов

КадровыеДокументы

Премии

Отклонения

Системные

Отчеты

ВедомостьНаЗарплату

РасчетныеЛисточки

Свод

ЛицевыеСчета

ПоискВидаРасчета

Календари

Табель_8час

Табель_7час

Журналы расчетов

Зарплата

Обработки

РасчетЗарплаты

Виды расчета

ПоОкладу

ПоТарифу

Невыход

Премия

СтандВычетНаСебя

СтандВычетНаДетей

Премия

Подоходный налог

НаРуки

Группы расчетов

ВсеНачисления

ВсеУдержания

ОблагаетсяПН

ВсеВычеты



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


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



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


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



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


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



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


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



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


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



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


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



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


Игра реализована в виде внешнего отчета (ert-файл). Поэтому игру можно подключить к любой конфигурации и доставить радость вашим пользователям!



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


Игра реализована в виде внешнего отчета (ert-файл). Поэтому игру можно подключить к любой конфигурации и доставить радость вашим пользователям!



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


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



Объекты, свойства и методы


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

У объектов имеются некоторые атрибуты (свойства, реквизиты). Например, сотрудник имеет фамилию, имя, отчество, оклад, табельный номер. Приказ о приеме имеет номер и дату. Набор свойств объекта задается разработчиком.

Также объекты имеют определенные методы (процедуры и функции). Например, вы можете выбрать всех сотрудников с помощью метода справочника ВыбратьЭлементы(), или можно сохранить документ методом Записать().



Обороты между счетами


ОБ(<СчетДеб>, <СчетКред>, <ТипСуммы>, <Валюта>)

Метод возвращает оборот с дебета счета <СчетДеб> в кредит счета <СчетКред>.

Пример

КассаБанк = БухИтоги.ОБ("50", "51");



Обработка "Чистка базы"


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

Почтальон Печкин



Обработка "Чистка базы"


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

Денежки



Обработка результатов запроса (обход группировок)


Методы обхода группировок результата запроса приведены ниже:



Обращение к атрибутам по имени


При работе с метаданными часто применяются следующие методы:



Обращение к движениям регистра


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

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

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

........Сообщить("Дата движения " + Строка(РегТовары.ТекущийДокумент.ДатаДок));

........Сообщить("Клиент: " + РегТовары.Клиент);

........Сообщить("Товар: " + РегТовары.Товар);

........Сообщить("Сумма: " + РегТовары.Доход);

КонецЦикла;



Обращение к файловой системе


Для работы с файловой системой предназначен объект "ФС". В принципе его не требуется создавать с помощью функции СоздатьОбъект. Можно считать, что он уже создан. Но 1С позволяет создать сколько угодно таких объектов при помощи функции СоздатьОбъект;

Пример:

ГдеМыНаходимся = ФС.ТекКаталог();

ФС.СоздатьКаталог("DOCS");

НовФС = СоздатьОбъект("ФС");

Объект "ФС" имеет следующие методы:



Обращение к итогам оборотного регистра


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

//установить период выборки "30 ноября 2001 года"

РегДоходы.ИспользоватьПериод(2001,11,30);

1. Метод Итог


Пример:

//получить доход за день по данному клиенту и данному товару

Доход = РегДоходы.Итог(ТекКлиент, ТекТовар, "Доход");

2. Метод Итоги

Пример:

//получить доход за день по данному клиенту и данному товару

РегДоходы.Итоги(ТекКлиент, ТекТовар);

Доход = РегДоходы.Доход;

3. Метод СводныйИтог

Могут быть указаны не все измерения. Фиксируются только указанные измерения.

Пример:

//получить сводные итоги за день

ДоходПоКлиенту = РегДоходы.СводныйИтог(ТекКлиент,,"Доход");

ДоходПоТовару = РегДоходы.СводныйИтог(,ТекТовар,"Доход");

4. Метод СводныеИтоги

Могут быть указаны не все измерения. Фиксируются только указанные измерения.

Пример:

//получить сводные итоги за день по клиенту

РегДоходы.СводныеИтоги(ТекКлиент,); //указано только одно измерение

ДоходПоКлиенту = РегДоходы.Доход;

//получить сводные итоги за день по товару

РегДоходы.СводныеИтоги(,ТекТовар); //указано только одно измерение

ДоходПоТовару = РегДоходы.Доход;



Обращение к итогам регистра


1-й способ.

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

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

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

......Сообщить("Товар " + Строка(РегТовары.Товар) +

...................... " на складе " + Строка(РегТовары.Склад) +

...................... " кол-во: " + Строка(РегТовары.Количество) +

...................... " стоимость: " + Строка(РегТовары.Стоимость) +

КонецЦикла;

2-й способ. Выгрузка итогов в таблицу значений

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

ТабЗнач = СоздатьОбъект("ТаблицаЗначений");

РегДоходы.ВыгрузитьИтоги(ТабЗнач);

ТабЗнач.ВыбратьСтроки();

Пока ТабЗнач.ПолучитьСтроку()=1 Цикл

......Сообщить("Товар " + Строка(ТабЗнач.Товар) +

...................... " на складе " + Строка(ТабЗнач.Склад) +

...................... " кол-во: " + Строка(ТабЗнач.Количество) +

...................... " стоимость: " + Строка(ТабЗнач.Стоимость) +

КонецЦикла;



Обращение к итогам регистра остатков


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

1. Метод Остаток


Пример:

//получить остаток данного товара на данном складе

Колво = РегТовары.Остаток (ТекТовар, ТекСклад, "Количество");

//получить стоимость данного товара на данном складе

Стоимость = РегТовары.Остаток (ТекТовар, ТекСклад, "Стоимость");

2. Метод Остатки

Пример:

//получить остаток данного товара на данном складе по кол-ву и по сумме

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

Колво = РегТовары.Количество;

Стоимость = РегТовары.Стоимость;

3. Метод СводныйОстаток

Могут быть указаны не все измерения. Фиксируются только указанные измерения.

Пример:

//получить остаток данного товара на всех складах

КолвоТовара = РегТовары.СводныйОстаток (ТекТовар,,"Количество");

СтоимостьТовара = РегТовары.СводныйОстаток (ТекТовар,,"Стоимость");

//получить стоимость всех товаров на данном складе

СтоимостьПоСкладу = РегТовары.СводныйОстаток (,ТекСклад,"Стоимость");

4. Метод СводныеОстатки

Пример:

//получить сводные остатки по товару

РегТовары.СводныеОстатки(ТекТовар,); //указано только одно измерение

КолвоТовара = РегТовары.Количество;

СтоимостьТовара = РегТовары.Стоимость;

//получить стоимость всех товаров на данном складе

РегТовары.СводныеИтоги(,ТекСклад); //указано только одно измерение

СтоимостьПоСкладу = РегТовары.Стоимость;



Обратное значение в %


без НДС

0

0

осн ставка

20

16.67

Заполним Константу "ОснНДС" значением "осн ставка";

Глава 3

2.10 Справочник Комплектующие.

Сверхсложные изделия нашей фирмы собираются из покупных комплектующих. В комплектующих нас будут интересовать название, ставка НДС. Комплектующие мы будем делить на группы по видам: "Болты (ГОСТ 7798-70)", "Гайки", "Шайбы (ГОСТ 11371-78)". Группу "Шайбы" мы разделим еще на три подгруппы "Высокие (ГОСТ 15524-70)", "Средние (ГОСТ 5927-70)" и "Низкие (ГОСТ 5929-70)".

Идентификатор: Комплектующие

Подчинен: нет

Количество уровней: 3

Код: 5     Тип кода: число     Серии кодов: подчинение

Наименование: 25

Основное представление: наименование

Группы сверху: да

Автонумерация: да       Уникальность: да

Одна форма для элемента и группы?: нет

Редактировать: в диалоге

"Код" – порядковый номер.

"Наименование" – Название комплектующего.

Реквизит

Описание

ТипЗначения

Доп.

Исп.

Изм.

НДС

ставка НДС

С.НДС

Э

Создаем справочник:

Создаем форму группы;

Создаем форму элемента;

В модуль формы элемента пишем процедуру:

Процедура ВводНового()

  НДС=Константа.ОснНДС;

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

Создаем форму списка;

Заполняем:



Общая схема выполнения запроса


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

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

ТекстЗапроса = "<текст запроса на особом языке запросов>"

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

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



Общие свойства


Работа объекта «БухгалтерскиеИтоги» во всех режимах имеет некоторые общие особенности. Значение типа «Счет» в параметры методов объекта может передаваться в виде строки, содержащей код счета. При ведении учета по нескольким планам счетов или с использованием разделителя учета на получение итогов в различных режимах запроса влияют установки методов ИспользоватьПланСчетов и ИспользоватьРазделительУчета.

ИспользоватьПланСчетов(<ПланСчетов>)

Метод ИспользоватьПланСчетов задает план счетов для метода получе­ния итогов и ВыполнитьЗапрос для тех случаев, когда конкретный счет не указан или задается строкой символов.

Если план счетов не установлен функцией ИспользоватьПланСчетов, будет использоваться основной план счетов, заданный в метаданных.

Пример.

БухИтоги.ИспользоватьПланСчетов(ПланыСчетов.Рабочий);

ИспользоватьРазделительУчета(<РазделительУчета>)

Метод ИспользоватьРазделительУчета задает значения разделителя учета для методов получения итогов и ВыполнитьЗапрос. Применение данного метода имеет смысл только если используется разделителель учета.

Пример.

БухИтоги.ИспользоватьРазделительУчета (Константа.ОснФирма);



Ограничения


Учет товара идет по беспартионной схеме, но есть динамический расчет партионности.

При больших объемах баз данных этот расчет может занять несколько минут.

Например в "Карточке оплаты" закрытие оплаты документов вычисляется динамически.

В справочнике Номенклатуры 2 уровня

Первый - для групп товара, второй для товара.

Это ограничение связано с построением некоторых отчетов.



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


Операции, проводки, корреспонденции

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

Свойства операции и проводки

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

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

Журнал операций и журнал проводок

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

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

Режимы ввода операций

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

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

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



Вызывается при открытии формы списка


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

Вызывается при открытии формы элемента


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

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

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

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

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

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

Этот метод возвращает уровень текущего


Уровень()
Этот метод возвращает уровень текущего элемента. Например, для сотрудника, который находится в группе Работающие, мы получим число 2.
Пример, вывод иерархического справочника в виде дерева:
СпрСотр = СоздатьОбъект("Справочник.Сотрудники");

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

Пока СпрСотр.ПолучитьЭлементы()=1 Цикл
//вывести отступ в соответствии с глубиной вложенности элемента

Для Ном=1 По СпрСотр.Уровень() Цикл

.....Сообщить(".....");

КонецЦикла;

Сообщить(СпрСотр.Наименование);
КонецЦикла;
ЭтоГруппа()
Этот метод возвращает 1, если текущий элемент справочника является группой, или 0 если группой не является.
Пример, вывод сотрудников (группы не выводятся):
СпрСотр = СоздатьОбъект("Справочник.Сотрудники");

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

Пока СпрСотр.ПолучитьЭлементы()=1 Цикл
Если СпрСотр.ЭтоГруппа()=1 Тогда

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

КонецЕсли;

Сообщить(СпрСотр.Наименование);
КонецЦикла;
ПринадлежитГруппе(...)
Метод проверяет, принадлежит ли указанной группе текущий элемент справочника (независимо от того, на каком нижележащем уровне он находится).

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

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

Пока СпрТовары.ПолучитьЭлементы()=1 Цикл
Если СпрТовары.ПринадлежитГруппе(грпСпиртное)=1 Тогда

.....Сообщить(СпрТовары.Наименование);

КонецЕсли;
КонецЦикла;
атрибут Родитель
Этот атрибут содержит родителя текущего элемента справочника, т.е. группу, в которой находится текущий элемент. Доступен для чтения и записи.
Пример, перенос всех товаров из группы Спиртное в группу Распродажа:
СпрТовары = СоздатьОбъект("Справочник.Товары");

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

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

Этот атрибут содержит владельца текущего


атрибут Владелец
Этот атрибут содержит владельца текущего элемента подчиненного справочника, т.е. элемент справочника-хозяина, к которому относится данный элемент. Атрибут доступен для чтения и записи.
Пример, перенос всех договоров от одного котрагента к другому (справочник Договоры подчинен справочнику Контрагенты):
СпрДоговоры = СоздатьОбъект("Справочник.Договоры");

СпрДоговоры.ИспользоватьВладельца(Контрагент1);

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

Пока СпрДоговоры.ПолучитьЭлементы()=1 Цикл
СпрДоговоры.Владелец = Контрагент2;

СпрДоговоры.Записать();
КонецЦикла;

Установить или считать текущее название


Вид()
Установить или считать текущее название вида справочника. Возвращает текущее название вида справочника, как оно задано в Конфигураторе, например "Сотрудники". Установка вида справочника возможна для реквизитов типа "Справочник", т.е. справочник неопределенного вида.
ПредставлениеВида()
Получить пользовательское представление вида справочника, как он задан в конфигураторе.

Возвращает строковое значение, содержащее пользовательское представление вида справочника (синоним).
УстановитьАтрибут(ИмяРеквизита, Значение)
Установить значение реквизита по его имени.

<ИмяРеквизита> - строковое выражение, содержащее имя реквизита, как оно задано в конфигураторе. <Значение> - выражение, содержащее устанавливаемое значение реквизита.
ПолучитьАтрибут(ИмяРеквизита)
Получить значение реквизита по его имени. Возвращает значение реквизита.
Выбран()
Возвращает 1 - если элемент справочника выбран, 0 - если не выбран. Часто применяется для проверки на ошибки, чтобы все необходимые данные были указаны.
Выбрать(...)
Вызов диалога для выбора элемента справочника.

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

Установить значение реквизита по его


УстановитьАтрибут(ИмяРеквизита, Значение)
Установить значение реквизита по его имени.

<ИмяРеквизита> - строковое выражение, содержащее имя реквизита, как оно задано в конфигураторе. <Значение> - выражение, содержащее устанавливаемое значение реквизита.
ПолучитьАтрибут(ИмяРеквизита)
Получить значение реквизита по его имени. Возвращает значение реквизита.