1. Справочники
Справочник – это агрегатный тип данных, средство для работы со списками однородных элементов данных. Название и структура каждого конкретного справочника определяются при его создании в конфигураторе. У любого справочника существуют два реквизита, которые создаются автоматически – «Код» и «Наименование». Реквизиты справочников могут быть периодическими, т.е. иметь значения, связанные с датой. При изменении значения периодического реквизита старое значение сохраняется, при этом новое значение начинает действовать с указанной даты, старое – до указанной даты.
Свойства справочника редактируются в окне редактирования «Справочник». Для визуального представления справочника существуют «Форма элемента», «Форма группы» и «Формы списка» (их может быть несколько).
1.1. Подчиненные справочники
Если один справочник подчинен другому (задается в поле «подчинен» окна редактирования), то каждый элемент подчиненного справочника будет соответствовать элементу справочника-владельца. Для этого есть специальный реквизит «Владелец», по которому можно найти элемент справочника-владельца.
1.2. Группы элементов
Справочник может иметь иерархическую структуру. Число уровней иерархии определяется в поле «Кол-во уровней» в окне редактирования. Для задания иерархии используется реквизит «Родитель», который и определяет, к какой группе относится элемент. Наиболее важные функции:
- ЭтоГруппа() – возвращает 1, если текущий элемент справочника – группа;
- ПринадлежитГруппе(<Группа>) – возвращает 1, если текущий элемент принадлежит группе <Группа>;
- Уровень() – возвращает номер уровня текущего элемента.
Глубина вложенности групп настраивается в конфигураторе и не может превышать 10 уровней.
1.3. Обработка элементов справочника
Обычно для обработки элементов справочника используется следующая последовательность команд:
Спр=СоздатьОбъект(«Справочник.НазваниеСправочника»);
Спр.ИспользоватьДату(<Дата>); // Используется, если есть периодические //реквизиты
Спр.ИспользоватьВладельца(<Владелец>); // Используется, если нужно //выбрать только элементы, подчиненные Владельцу
Спр.ИспользоватьРодителя(<Группа>); // Используется, если нужно выбрать //только элементы, принадлежащие Группе
Спр.ВыбратьЭлементы(); // Делаем выборку элементов
Пока Спр.ПолучитьЭлемент()=1 Цикл
// Обработка текущего элемента выборки, например
Сообщить(Спр.Код+« »+Спр.Наименование);
КонецЦикла;
1.4. Добавление нового элемента справочника
Спр.Новый();
Спр.Наименование = «ЭтоНовыйЭлемент»;
// Заполняем остальные реквизиты
Спр.Записать(); // Происходит запись нового элемент в базу данных
1.5. Поиск элемента справочника
Есть несколько способов поиска элемента справочника:
- НайтиЭлемент(<Элемент>),
- НайтиПоКоду(<Код>),
- НайтиПоНаименованию(<Наименование>),
- НайтиПоРеквизиту (<Реквизит>, <Значение>).
В последнем случае необходимо, чтобы элементы справочника были отсортированы по этому реквизиту – в свойстве реквизита в закладке «Дополнительно» нужно поставить флажок «Сортировка».
Пример. Следующая функция выполняет поиск элемента справочника по наименованию. Если элемент с таким наименованием не найден, то создается новый элемент. Параметр «Справ» – строка с идентификатором справочника, «Наим» – наименование по которому производится поиск элемента. Функция возвращает ссылку на найденный или созданный элемент.
Функция ПоискЭлемента(Справ,Наим)
Спр=СоздатьОбъект(«Справочник»);
Спр.Вид(Справ);
Если Спр.НайтиПоНаименованию(Наим)=0 Тогда
Спр.Новый();
Спр.Наименование=Наим;
Спр.Записать();
КонецЕсли;
Возврат Спр.ТекущийЭлемент();
КонецФункции
1.6. Удаление элементов справочника
Для удаления текущего элемента справочника используется функция Удалить(<Режим>), где <режим> может иметь значение 0 – пометка на удаление, 1 – непосредственное удаление (используется по умолчанию). Вообще непосредственное удаление не рекомендуется, из-за возможного нарушения ссылочной целостности базы данных.
Чтобы удалить помеченные на удаление объекты через систему 1С:Предприятие 7.7, нужно зайти в программу в монопольном режиме и в меню «Операции» выбрать пункт «Удаление помеченных объектов…».
2. Документы
Документы в системе 1С: Предприятие используются для ввода, просмотра и корректировки информации о совершаемых хозяйственных операциях. У любого документа есть три обязательных реквизита «ДатаДок», «ВремяДок», «НомерДок». Дата и время, – наиболее важные характеристики документов, так как позволяют устанавливать строгую временную последовательность совершения операций. Форма документа редактируется при нажатии кнопки «Форма».
2.1. Реквизиты документа
Реквизиты шапки документа задаются в списке «Реквизиты шапки». Реквизиты табличной части задаются в списке «Реквизиты табличной части».
2.2. Проведение документа
Для того чтобы документ формировал проводки, необходимо
- создать хотя бы один план счетов.
- поставить флажок «Разрешить проведение документа».
- поставить флажок «Бухгалтерский учет».
Формирование проводок происходит в «Модуле документа» в предопределенной процедуре «Обработка проведения».
Операция.НоваяПроводка();
Операция.СодержаниеПроводки = "Поступили товары";
Операция.НомерЖурнала = "ТВ";
Операция.Дебет.Счет = СчетПоКоду(«41.1»);
Операция.Дебет.Номенклатура = Товар;
Операция.Кредит.Счет = СчетПоКоду(«60.1»);
Операция.Кредит.Контрагенты = Контрагент;
Операция.Кредит.Договоры = Договор;
Операция.Количество = Количество;
Операция.Сумма = УчетнаяСтоимость;
Операция.Записать();
2.3. Обработка документов
Обычно для обработки документов используется следующая последовательность команд:
Док=СоздатьОбъект(«Документ.НазваниеДокумента»);
Док.ВыбратьДокументы(); // Делаем выборку документов
Пока Док.ПолучитьДокумент()=1 Цикл
// Обработка шапки документа, например
Сообщить(«Вид документа »+Строка(Док.Вид()));
Сообщить(«Дата документа »+Строка(Док.ДатаДок));
Сообщить(«Номер документа »+Строка(Док.НомерДок));
Док.ВыбратьСтроки();// Делаем выборку табличной
//части документа
Пока Док.ПолучитьСтроку()=1 Цикл
// Обработка строк табличной части документа
Сообщить(«Товар »+Док.Товар.Наименование);
КонецЦикла
Сообщить(Строка(Спр.Код)+Спр.Наименование);
КонецЦикла;
2.4. Ввод нового документа
Для ввода документа используется функция «Новый()», далее заполняются реквизиты шапки документа. Для ввода новой строки документа используется функция «НоваяСтрока()» и заполняются реквизиты табличной части документа.
3. Журналы документов
Для просмотра списка документов используется «Журналы документов». Создание журнала производится в конфигураторе. В диалоговой форме задаются графы – реквизиты документов, входящих в журнал. Реквизиты табличной части можно добавить в журнал только в том случае, если в свойствах реквизита в закладке «Дополнительно» стоит флажок «Итог по колонке».