Сегодня мы рассмотрим одну из самых важных тем - документы. Без них не обходится практически ни одна конфигурация.
Внимание,
начинающие программисты! На сайте www.mista.ru
есть Учебник по 1С, который в доступной форме объясняет базовые приемы программирования
со справочниками, документами, отчетами и другими объектами 1С:Предприятие.
Все главы проиллюстрированы простыми и наглядными примерами, что позволит вам
быстро и хорошо освоить среду 1С. Прочитайте этот учебник как можно скорее!
ДОКУМЕНТЫ
Сегодня Ельцин весь
день проработал с документами:
он еще раз просмотрел свой паспорт и свидетельство о рождении.
ЗАЧЕМ
НУЖНЫ ДОКУМЕНТЫ?
Документы
-- это электронные аналоги обычных бумажных документов. Документы предназначены
для регистрации фактов реального мира в компьютере. С помощью документов можно
вводить информацию в базу данных, например, принимать нового сотрудника документом
"Приказ о приеме на работу". Или можно просто создать платежное поручение
в банк или ввести счет-фактуру. Документы обычно формируют движения. Движения
документа -- это изменения в справочниках и других объектах конфигурации, порожденные
этим документом.
СОСТАВ
ДОКУМЕНТА
С точки
зрения программиста, у
документа есть экранная форма -- Диалог. Именно его видит пользователь
на экране. Также у документа обычно есть одна или несколько бумажных форм
-- Таблиц. С помощью Таблиц документ печатается на бумаге. Поведение документа
определяется с помощью встроенного языка 1С. На языке записывается, что
документ делает в системе, как он формирует бумажный бланк и как он себя ведет
на экране.
ПРОВЕДЕНИЕ
ДОКУМЕНТА
Некоторые
документы могут проводиться. С точки зрения пользователя, "провести"
документ означает "пустить его в дело". С точки зрения программиста,
при проведении документа сработает модуль проведения документа (процедура
ОбработкаПроведения). Именно там определяются все действия, выполняемые
при проведении документа. Например, при проведении документа "Приказ о
приеме на работу" сработает модуль этого документа, который в справочник
Сотрудники добавит нового сотрудника.
АТРИБУТЫ
ДОКУМЕНТА
У любого
документа в системе 1С есть уже два предопределенных атрибута: НомерДок и
ДатаДок. Эти атрибуты есть практически у любого настоящего документа.
Программист может добавлять свои атрибуты в режиме Конфигуратора. Например,
в Приказе о приеме наверняка будут дополнительные атрибуты ФИО, Оклад, Должность.
Эти атрибуты относятся к новому сотруднику. При проведении этого приказа данные
из этого документа должны автоматически перейти в справочник Сотрудники. Это
делается с помощью модуля документа на встроенном языке 1С.
ЖУРНАЛЫ
ДОКУМЕНТОВ
Все документы
хранятся в журналах. Журнал документов -- это электронный аналог обычной
бумажной папки. На экране журнал выглядит как таблица, строки которой являются
документами. Например, вы можете создать журнал Приказы кадровые, который
будет включать документы "Приказ о приеме на работу", "Приказ
об увольнении", "Кадровое перемещение". С этим журналом будет
работать пользователь-кадровик. Или можно создать отдельный журнал для банковских
документов, куда войдут документы "Платежное поручение" и др.
ВИДЫ
ЖУРНАЛОВ ДОКУМЕНТОВ
Журналы
в системе 1С могут быть трех видов: Обычный, Общий и Дополнительный.
Обычный журнал предназначен для хранения документов определенных видов. Документ
также может быть включен в дополнительный журнал, при этом документ будет зарегистрирован
сразу в двух журналах. Дополнительных журналов может быть несколько. Общий журнал
показывает документы всех видов.
ГРАФЫ
ЖУРНАЛА ДОКУМЕНТОВ
У журнала
документов есть экранная форма, где можно настраивать отображаемые колонки.
Можно создавать дополнительные колонки, которые будут отображать информацию
из документов. Например, в журнале ПриказыКадровые удобно сразу видеть, к какому
сотруднику относится каждый документ, для этого создается Графа журнала
Сотрудник.
Основы
программирования
Ссылка
на документ
Для работы с документом
из какого-нибудь модуля требуется сначала создать ссылку на этот документ.
Удаление документа Удаление и пометка на удаление документа.
ДокПрием.Удалить(0); //пометка
на удаление
ДокПрием.Удалить(1); //непосредственное удаление
//можно проверить,
помечен ли документ на удаление
//функция возвращает 1 - если помечен, 0 - если нет
Пометка = ДокПрием.ПометкаУдаления();
Перебор документов
Перебор документов в цикле.
ДокПрием.ВыбратьДокументы(дата1,
дата2); //можно задать период выборки
Пока
ДокПрием.ПолучитьДокумент()=1 Цикл
......<действия с текущим документом>
КонецЦикла;
Табличная
часть документа
Перебор строк, добавление
и удаление строк табличной части документа..
//перебор строк табличной части Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку()=1 Цикл ... КонецЦикла;