- •Часть 3. Раздел 2.
- •1. Понятие документа, документопотока и документооборота
- •2. Назначение Системы Документационного Обеспечения Управления (сдоу)
- •3. Состав функций и процедур сдоу
- •4. Состав Организационно-Распорядительных документов (орд)
- •5. Содержание процедуры составления орд
- •6. Содержание процедуры получения и передачи потоков документов
- •7. Состав и содержание процедуры контроля исполнения документов
- •8. Содержание процедуры формирования дел и сдачи дел в архив
- •9. Принципы, методы и средства разработки электронной системы управления документооборотом.
- •10. Понятие электронного документа (эд).
- •11. Виды эд
- •12. Состав операций проектирования эд.
- •13. Системы электронного документооборота (сэд): назначение, архитектура, классификация и критерии выбора.
- •14. Рынок сэд в России
- •15. Классификация корпоративных информационных систем (кис).
- •16. Базовые методологии управления, реализуемые в кис: mps, sic, mrp, mrpii, erp.
- •17. Отечественный рынок кис.
- •18. Проблемы внедрения кис.
- •19. Конфигурирование в системе «1с:Предприятие».
- •20. Создание прикладных объектов конфигурации «1с:Предприятие».
- •21. Встроенный язык программирования платформы «1с:Предприятие».
- •22. Управляющие конструкции встроенного языка программирования платформы «1с:Предприятие». Если
- •Попытка
- •23. Архитектура системы «1с:Предприятие 8.1»
- •24. Прикладной объект конфигурации Справочник: свойства, структура, приемы программирования
- •25. Прикладной объект конфигурации Документ: свойства, структура, приемы программирования.
- •26. Прикладной объект конфигурации регистр (сведений, накопления, бухгалтерии, расчета): свойства, структура, приемы программирования.
- •27. Язык запросов платформы «1с:Предприятие».
23. Архитектура системы «1с:Предприятие 8.1»
Технологическая платформа «1С:Предприятие» представляет собой программную оболочку над базой данных. Используются базы на основе DBF-файлов в 7.7, собственный формат 1CD с версии 8.0 или СУБД Microsoft SQL Server на любой из этих версий. Кроме того, с версии 8.1 хранение данных возможно в PostgreSQL и IBM DB2, а с версии 8.2 добавилась и Oracle. Платформа имеет свой внутренний язык программирования, обеспечивающий, помимо доступа к данным, возможность взаимодействия с другими программами посредством OLE и DDE, в версиях 7.7, 8.0 и 8.1 — с помощью COM-соединения.
Клиентская часть платформы функционирует в среде Microsoft Windows, а начиная с версии 8.3, также в среде Linux и Mac OS X. Начиная с версии 8.1, серверная часть платформы в клиент-серверном варианте работы «1С:Предприятия» может функционировать на ОС Microsoft Windows и Linux.Существуют специальные версии среды исполнения 1С для ноутбуков и PDA, ПО создания веб-приложений, взаимодействующих с базой данных «1С:Предприятие».
24. Прикладной объект конфигурации Справочник: свойства, структура, приемы программирования
Справочник является списком возможных значений того или иного реквизита. Справочники используются в тех случаях, когда необходимо исключить неоднозначный ввод информации. Например, для того, чтобы покупатель, продавец, кладовщик, директор понимали, о каком товаре идет речь, каждый должен называть его одинаково. И в этом случае необходим справочник. Обычно в торговом предприятии он имеет вид прайс-листа, а если такой справочник хранится в компьютере, то в него заносят всю возможную номенклатуру товаров, с которыми работает торговая фирма. Система 1С:Предприятие позволяет вести практически неограниченное количество необходимых справочников. Каждый справочник представляет собой список однородных объектов: сотрудников, организаций, товаров и т. д. Каждый такой объект называется элементом справочника.
В качестве обязательных реквизитов каждый справочник имеет Код и Наименование. Код элемента справочника может быть как числовым, так и текстовым. Система 1С:Предприятие предоставляет широкие возможности по работе с кодами элементов справочника: автоматическое присвоение кодов, автоматический контроль уникальности кода и другие. Помимо кода и наименования, в справочниках системы 1С:Предприятие может храниться любая дополнительная информация об элементе справочника. Для хранения такой информации в справочнике может быть создан список реквизитов. Используя механизм реквизитов справочника, легко организовать, например, картотеку сотрудников. Например, справочник Сотрудники почти наверняка будет иметь атрибуты Должность, Оклад и другие. Фирма 1С предвосхитила программистов и ввела во все справочники два уже заданных атрибута: Код и Наименование. Действительно, практически любой объект из реальной жизни содержит эти атрибуты. Например, для сотрудников кодом выступает табельный номер, а наименованием -- фамилия, имя, отчество (ФИО).
Основы программирования
Ссылка на справочник
Для работы со справочником из какого-нибудь модуля требуется сначала создать ссылку на этот справочник.
7.7
СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
СпрДолж = СоздатьОбъект("Справочник.Должности");
8.0
СпрСотр = Справочники.Сотрудники;
СпрДолж = Справочники["Должности"]
Создание и запись нового элемента
7.7
СпрСотр.Новый();
СпрСотр.Наименование = "Иванов Иван Иванович";
СпрСотр.Оклад = 5000;
СпрСотр.Записать();
8.0
НовЭл = СпрСотр.СоздатьЭлемент();
НовЭл.Наименование = "Иванов Иван Иванович";
НовЭл.Оклад = 5000;
НовЭл.Записать();
Поиск элемента справочника
7.7
//например, в приказе об увольнении
СпрСотр.НайтиЭлемент(Сотрудник);
СпрСотр.НайтиПоКоду(123);
СпрСотр.НайтиПоНаименованию("Иванов Иван Иванович");
СпрСотр.НайтиПоРеквизиту("Оклад", 5000);
//если элемент найден, он становится текущим и его можно прочитать так:
Если СпрСотр.НайтиПоНаименованию("Иванов Иван Иванович")=1 Тогда
........НайденныйСотр = СпрСотр.ТекущийЭлемент();
КонецЕсли;
8.0
//в версии 8.0 если элемент найден, то он возвращается, иначе возвращается Неопределено
НайденныйСотр = СпрСотр.НайтиПоКоду(123);
НайденныйСотр = СпрСотр.НайтиПоНаименованию("Иванов Иван Иванович");
НайденныйСотр СпрСотр.НайтиПоРеквизиту("Оклад", 5000);
//далее нужно проверить найденное значение
НайденныйСотр = СпрСотр.НайтиПоНаименованию("Иванов Иван Иванович");
Если НайденныйСотр = Неопределено Тогда
.....//элемент не найден
КонецЕсли;
Удаление элемента справочника
7.7
СпрСотр.Удалить(1); //непосредственное удаление
СпрСотр.Удалить(0); //пометка на удаление
СпрСотр.СнятьПометкуУдаления();
//можно проверить, помечен ли элемент на удаление
//функция возвращает 1 - если помечен, 0 - если нет
Пометка = СпрСотр.ПометкаУдаления(); //обратите внимание: это метод
8.0
СпрСотр.Удалить(); //непосредственное удаление
СпрСотр.УстановитьПометкуУдаления (Истина); //пометка на удаление
СпрСотр.УстановитьПометкуУдаления (Ложь); //снять пометку на удаление
//можно проверить, помечен ли элемент на удаление
//есть свойство ПометкаУдаления, оно имеет тип Булево - Истина или Ложь
Пометка = СпрСотр.ПометкаУдаления; //обратите внимание: это свойство
Если Пометка = Истина Тогда
.....//элемент помечен на удаление
КонецЕсли;
Перебор элементов справочника
7.7
СпрСотр.ВыбратьЭлементы();
Пока СпрСотр.ПолучитьЭлемент() = 1 Цикл
... //действия с очередным элементом
...Сообщить("Сотрудник " + СпрСотр.Наименование);
КонецЦикла;
8.0
выборка = Справочники.Сотрудники.Выбрать();
Пока выборка.Следующий() = 1 Цикл
... //действия с очередным элементом
...Сообщить("Сотрудник " + выборка.Наименование);
КонецЦикла;
Родитель
Перебор элементов внутри группы. Группа в терминах 1С -- это "родитель".
7.7
СпрСотр.НайтиПоНаименованию("Работающие");
Работающие = СпрСотр.ТекущийЭлемент();
СпрСотр.ИспользоватьРодителя(Работающие);
//дальше, например, цикл по сотрудникам (см. выше)
...
8.0
СпрСотр = Справочники.Сотрудники;
ГруппаРаботающие = СпрСотр.НайтиПоНаименованию("Работающие");
выборка = СпрСотр.Выбрать(ГруппаРаботающие);
Пока выборка.Следующий() = 1 Цикл
... //действия с очередным элементом
...Сообщить("Сотрудник " + выборка.Наименование);
КонецЦикла;
Владелец
Перебор элементов справочника принадлежащих элементу другого справочника.
Один справочник подчинен другому справочнику, например спр. НалоговыеЛьготы подчинен спр. Сотрудники.
7.7
СпрНЛ = СоздатьОбъект("Справочник.НалоговыеЛьготы");
СпрНЛ.ИспользоватьВладельца(Сотрудник);
//дальше, например, цикл по льготам этого сотрудника (см. выше)
...
8.0
выборка = Справочники.НалоговыеЛьготы.Выбрать( ,Сотрудник);
Пока выборка.Следующий() = 1 Цикл
... //действия с очередным элементом
...Сообщить("льгота " + выборка.Наименование);
КонецЦикла;
Периодические реквизиты
Чтение и запись периодических реквизитов.
Установка даты выборки периодических реквизитов для всего справочника.
7.7
//так мы узнаем, какая была у сотрудника
//категория на определенную дату
Катег = СпрСотр.Категория.Получить(НекаяДата);
//так мы установим сотруднику категорию
//на определенную дату
СпрСотр.Категория.Установить(НекаяДата, НоваяКатегория);
//можно установить дату выборки периодических
//реквизитов для всего справочника
СпрСотр.ИспользоватьДату(НекаяДата);
//тогда ниже уже нельзя использовать Установить и Получить
//доступ к периодическим реквизитам становится
//такой же, как к обычным реквизитам
Катег = СпрСотр.Категория;
СпрСотр.Оклад = 6000;
