179
ВЛАДИМИР ДУБЯНСКИЙ 1C: Предприятие Конфигурирование и администрирование уля начинающих

Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Embed Size (px)

Citation preview

Page 1: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

ВЛАДИМИР ДУБЯНСКИЙ

1C: ПредприятиеКонфигурирование и администрирование

уля начинающих

Page 2: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих
Page 3: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Владимир Дубянский

1C: ПредприятиеКонфигурирование и администрирование

для начинающих

P

Санкт-Петербург

«БХВ-Петербург»

2005

Page 4: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

УДК 681.3.06

ББК 32.973.26-018.2Д79

Дубянский В. М.Д79 ЮПредприятие. Конфигурирование и администрирование для начи-

нающих. Экспресс-курс. — СПб.: БХВ-Петербург, 2005. — 176 с.: ил.

ISBN 5-94157-278-6

Описаны основные приемы программирования и конфигурирования, общиедля всех компонент системы "ЮПредприятие" версии 7.7. Приведены практи-ческие рекомендации по созданию констант, справочников, документов, пере-числений, запросов и отчетов, меню и панелей инструментов, программных мо-дулей на встроенном языке. Рассмотрена связь с внешними приложениями типаMicrosoft Excel посредством OLE Automation. Основные приемы программиро-вания и конфигурирования изложены с использованием сквозного примера.Каждое действие, описанное в книге, проиллюстрировано и сопровождаетсялистингами процедур и функций. Приведены примеры конфигураций, внедрен-ных на предприятиях.

Для широкого круга программистов и пользователей системы "1C:Предприятие"

УДК 681.3.06

ББК 32.973.26-018.2

Группа подготовки издания:

Главный редактор Екатерина Кондукова

Зам. гл. редактора Евгений Рыбаков

Зав. редакцией Григорий Добин

Редактор Елена Кашлакова

Компьютерная верстка Натальи Караваевой

Корректор Зинаида Дмитриева

Дизайн серии Инны Тачиной

Дизайн обложки Игоря Цырульникова

Зав. производством Николай Тверских

Лицензия ИД № 02429 от 24.07.00. Подписано в печать 22.10.04.Формат 70x100V«. Печать офсетная. Усл. печ. л. 14,19.

Тираж 5000 экз. Заказ № 585"БХВ-Петербург", 190005, Санкт-Петербург, Измайловский пр., 29.

Гигиеническое заключение на продукцию, товар № 77.99.02.953.Д.001537.03.02от 13.03.2002 г. выдано Департаментом ГСЭН Минздрава России.

Отпечатано с готовых диапозитивовв ГУП "Типография "Наука"

199034, Санкт-Петербург, 9 линия, 12

ISBN 5-94157-278-6 ° Дубянский в. м.. 2005О Оформление, издательство "БХВ-Петербург", 2005

Page 5: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Содержание

Введение 1

Глава 1. Вводные сведения 3

1.1. Почему именно "1С:Предприятие"? 31.2. Концепция системы "1С:Предприятие" 31.3. Инсталляция 71.4. Что такое конфигурация 81.5. Функционирование системы 81.6. Создание новой конфигурации 91.7. Объекты метаданных 13

Глава 2. Начинаем новый проект 17

2.1. Константы 172.2. Периодические константы 202.3. Справочники 222.4. Документы 31

Глава 3. Начала программирования в системе "1С:Предприятие" 41

3.1. Встроенный язык системы 413.2. Программный модуль и простейшие программы 413.3. Заполнение документа методом подбора 493.4. Локальный контекст и доступность процедур и функций 563.5. Итоговые значения колонок документа .• 60

Глава 4. Вывод на печать 63

4.1. Понятие о выборке .....634.2. Объект Таблица для построения отчета ......654.3. Печатные формы справочников 684.4. Печатные формы документов 764.5. Печатные формы как отдельные файлы 83

Page 6: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

IV Содержание

Глава 5. Другие базовые объекты 87

5.1. Перечисление '. 875.2. Обработка 905.3. Журналы документов 965.4. Список значений 99

Глава 6. Запросы и отчеты 103

6.1. Начало создания отчета 1036.2. Запрос 105

Глава 7. Пользовательский интерфейс и администрирование 113

7.1. Индивидуальный пользовательский интерфейс 1137.2. Создание набора пользовательских прав 1207.3. Создание нового пользователя 1237.4. Заключительные замечания 126

Глава 8. Некоторые дополнительные сведения 127

8.1. Специальные свойства объекта конфигурации 1278.2. Сохранение базы данных 1278.3. Перенос справочников с данными 1338.4. Загрузка данных в "1С:Предприятие" из Microsoft Excel 1418.5. Экспорт данных из "1C:Предприятие" в Microsoft Excel ....147

Глава 9. Примеры конфигураций, написанных на базовых объектах 157

9.1. Вводные замечания 1579.2. Конфигурация Интернет-поддержка 1579.3. Конфигурация Учет абонентской платы 163

Предметный указатель 170

Page 7: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Введение

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

О не будете жестко привязаны к программисту или фирме-разработчику —большинство проблем решите сами;

П. будете четко осознавать, что вам нужно от разработчика, как это удобнеедля вас сделать, сколько это может занять времени и сколько стоит;

П значительно повысится ваш статус как специалиста.

Конфигуратор "1C:Предприятие" — это эффективный инструмент продви-нутого бухгалтера. Для качественной работы надо уметь использовать всевозможности "1С:Предприятие", помимо работы в пользовательском режи-ме, конфигурировать и администрировать.

Основной упор сделан на разбор основополагающих моментов конфигури-рования. Предполагается, что наличие такой обучающей книги позволитускорить освоение технологии конфигурирования в "1С:Предприятие 7.7".Сквозной пример (www.bhv.ru/books/get_disk_data.php?id=4789), который мыбудем разбирать на протяжении всей книги, вполне работоспособная кон-фигурация, правда, очень простая. Однако, имея уровень знаний, получен-ный в результате изучения этой книги, вы сможете самостоятельно совер-шенствоваться, улучшать рабочие конфигурации и писать новые.

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

П конфигурирование и администрирование;

П описание встроенного языка;

П руководство по установке и запуску.

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

1. Байдаков В., Нуралиев С., Шевченко А. Введение в конфигурирование1C бухгалтерии 7.7. - "1C", 2000.

Page 8: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

2 Введение

2. Лихарев М., Нуралиев С., Русанов Д., Службин Д., Федоров Б., Филип-пов В. "1С:Предприятие", версия 7.5. Методические рекомендации поконфигурированию и администрированию. — "1C", 1998.

3. Гвоздев Д. В., Гордеев О. В., Меломуд О. Л., Ожигов В. Л. Методическиерекомендации по анализу и построению технической архитектуры в про-ектах внедрения информационных систем на базе системы программ"1С:Предприятие". — "1C", 2000.

4. Соловьев И. В. ""1С:Предприятие" 7.7. Базовые объекты". — "1C", 2000.

5. Материалы сайта http://training-lc.hotbox.ru.

Автор предполагает, что читатели имеют элементарные навыки работы с пер-сональным компьютером в среде MS Windows, то есть представляют струк-туру каталогов, могут создавать, копировать, удалять файлы и папки, знако-мы с понятиями имени файла, расширения файла и пр.

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

Page 9: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Глава 1

Вводные сведения

1.1. Почему именно "1С:Предприятие"?На рынке бухгалтерских программ достаточно большое разнообразие."1C:Предприятие", по моему личному мнению, выгодно отличается от ос-тальных следующими возможностями:

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

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

П Открытая система — возможно взаимодействие с другими программами,обмен данными, написание внешних компонент, расширяющих возмож-ности программы.

CJ Учет может вестись как на маленькой фирме с одним компьютером, таки на больших предприятиях, с сотнями рабочих мест.

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

О Наиболее широкая и частая франчайзинговая сеть, а также развитая сис-тема поддержки конечных пользователей.

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

Page 10: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

4_ Глава 1

компоненты: "Бухгалтерский учет", "Оперативный учет" и "Расчет". Этосвоеобразный конструктор из частей-компонент, которые по отдельности илив самых различных сочетаниях позволяют решать различные задачи.

Компонента "Бухгалтерский учет" предназначена для ведения учета на осно-ве бухгалтерских операций. Она обеспечивает ведение планов счетов, вводпроводок, получение бухгалтерских итогов. Компонента используется дляавтоматизации бухгалтерского учета в соответствии с законодательством иметодологией учета.

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

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

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

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

По функциональной полноте "1C:Предприятие" различается следующимиформами поставки:

О Базовая. Отличительной особенностью этой поставки является отсутствиевозможности производить настройку в режиме конфигуратора.

Page 11: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вводные сведения

П Стандарт. В этой поставке:

• количество субконто не может превышать трех;

• можно оперировать только одним планом счетов;

• невозможно использовать разделитель учета в проводках;

• количество уровней вложенности в справочниках не больше трех.

П Проф. Действуют все возможности компоненты "Бухгалтерский учет":

• количество субконто до пяти;

• можно оперировать несколькими планами счетов;

• можно использовать разделитель учета в проводках;

• количество уровней вложенности в справочниках до десяти.

По возможному количеству пользователей системы форма поставки можетбыть:

П локальная — на один компьютер. С информационной базой сможет ра-ботать только один пользователь;

П сетевая — неограниченное количество компьютеров;

П для трех пользователей (Оперативный учет и Расчет);

П SQL-версия — неограниченное количество компьютеров с использовани-ем клиент-серверной технологии;

О набор для небольшой фирмы: сетевая бухгалтерия, Оперативный учет иРасчет для трех пользователей.

Примечание Д

Сетевые и SQL-версии не могут быть стандартными и базовыми. Поставки"1С:Бухгалтерский учет" для трех пользователей не предусмотрено.

Примеры поставок:

П "1C:Бухгалтерский учет" (стандарт);

П "1С:Оперативный учет" (сетевая версия) и "1С:Бухгалтерский учет" (сете-вая версия);

П "1С:Бухгалтерский учет" (проф) + "ЮРасчет" (проф);

П "1С:Предприятие" (SQL).

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

Page 12: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

_б Глава 1

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

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

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

,:, С' « ' ."Mi! • • •

э е т]

От

1C. Предприятие 7.7 [сетевая версия]

Copyright© 1 с, 1 936 -1Э99Конфигурация:Дубйнский В. И. Учебная конфигурация

(770.019)

[Лицензия на программу принадлежит:дом

\ DVM

; Установленные компоненты.} Бухгалтерский учет\ Оперативный учет; Расчет.

Информационная база: Е:\1 сКи(8\КнигаМСонетанты\Книга

Имя пользователя: Администратор

Для получения подсказки нажните F1

Шпуск] £Ь М | fig Конфигуратор - Базо... Ч ) Рисунки

;iMUM СТАТУС: БД, Докунент

13Г лава 1 - Microsoft Word I . ' , , '• .' .ffl|« 16;H

Рис. 1.1. Информация о программе

Page 13: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вводные сведения

1.3. ИнсталляцияИнсталляция программы поставляется на дискетах или компакт-диске.Компакт-диски или дискеты содержат программу установки Setup. Все вер-сии работают под управлением операционной системы MS Windows. Припервой установке программа Setup запрашивает имя пользователя и наиме-нование компании. Программа сохраняет данную информацию и выводит еекаждый раз при запуске. Далее необходимо следовать инструкциям на экра-не. Когда программа инсталляции предложит установить типовую конфигу-рацию — откажитесь. Нам она сейчас не нужна. Существуют особенностиинсталляции сетевой и SQL-серверной версий, но в данной книге мы ихописывать не будем. При необходимости можете обратиться к документациипрограммы. После инсталляции программы выключите компьютер, вставьтев порт принтера ключ зашиты, если есть принтер, в ключ защиты вставьтеразъем кабеля принтера, включите компьютер. Затем нажмите кнопку Пуск(Start), далее — Программы | 1C: Предприятие 7.7 | Установка драйвера защиты(рис. 1.2). Появится сообщение об успешной установке драйвера защиты.Теперь перезагрузите компьютер.

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

3 Стандартны*: •

; 1C Предприятие S.P

•г$ 1C Базы данных

;j Dtabto II-Lord of Deduction

ГЗ ttecreet . • . '

y Int activ

• Global Operation*

^3 Hemera Products

Г% Hewlett-Packed

£) HP Share-*<>-Web

ГЗ Morrowind - Bbodmoon

"£} Tabs Animator .

ГЗ Warcraft III Kw

•£3 Westwood

-0 WkAAR . "

^5 ЗОЛ010Й«ОИЛ

[•••• ; Регистрация I.R.I.S. OCR .

*> Мира

Qf Readme - Дспол^пвльиая ннфсч»

И Конфигуратор :

Рис. 1.2. Выбор пункта меню Установка драйвера защиты

Page 14: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

8 Глава 1

1.4. Что такое конфигурацияВсе составляющие системы программ "1С:Предприятие" можно разделить натехнологическую платформу и конфигурации. Технологическая платформапредставляет собой набор различных механизмов, используемых для автома-тизации экономической деятельности, не зависящих от конкретного зако-нодательства и методологии учета. Это "мотор" автоматизации предприятия.Действительно, ведь "1С:Предприятие" используется во всех странах СНГ и,бывает, дальнего зарубежья. Разработчикам невозможно предусмотреть всенюансы. А вот сам алгоритм реализуют программисты на местах, посредст-вом конфигураций, которые и являются, собственно, прикладными реше-ниями. Каждая конфигурация ориентирована на автоматизацию определен-ной сферы экономической деятельности и, разумеется, отвечает принятомузаконодательству. Используя определения документации, конфигурация —это конкретный набор объектов, структур информационных массивов и алго-ритмов их обработки. Понятно, что невозможно использовать только конфи-гурацию: она не будет работать без "мотора" — технологической платформы.А использование технологической платформы без конфигурации лишеносмысла: она ведь не будет вести учет. Вместе с конфигурацией система про-грамм "1С:Предприятие" выступает как готовый к использованию программ-ный продукт, который может быть ориентирован как на конкретное пред-приятие, так и на определенные типы предприятий и классы решаемыхзадач. И это является основной особенностью системы.

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

В этом смысле в процессе конфигурирования формируется структура ин-формационной базы и алгоритмы ее обработки.

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

В данном пособии будет подробно рассматриваться именно работа на этапеконфигурирования, в то время как работе пользователя на этапе исполненияконфигурации будет уделено минимально необходимое внимание.

Page 15: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вводные сведения

1.6. Создание новой конфигурацииДля начала работы с собственной конфигурацией создайте на диске компь-ютера папку, в которой будет храниться конфигурация и набор файлов ин-формационной базы. Затем запустите систему "1С:Предприятие". Мы вос-пользуемся классическим способом запуска программ — через кнопку Пуск(Start). Для этого нужно выполнить следующую последовательность команд:Пуск | Программы | 1C Предприятие 7.7 | 1C Предприятие.

После поиска ключа защиты на экран будет выведен диалог запуска (рис. 1.3).

В режиме: у

( "аВ т^Информационные Баэы:

I МонопольноОтмена

ЗостокЦ3 остокЦ емент_копияИнтернет-КнигаИнформационная База #1Информационная База 82Информационная База ИЗКазахстанская демо под 19 релКанцелярия

Добавить

Удалить

|-»-| Помощь

Е:\1 сКиг5\Книга\Константы\

Рис. 1.3. Запуск системы "1С:Предприятие"

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

Существует четыре режима работы программы:

П ''1C:Предприятие" — основной режим работы с программой. В этом ре-жиме работают пользователи системы, вводя первичную информацию иформируя необходимые отчеты. Работать в этом режиме можно только сосформированной настройкой. Изменять функциональные возможностинастройки в данном режиме можно только в ограниченных пределах.

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

Page 16: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

10 Глава 1

П Отладчик — этот режим служит для облегчения разработки конфигура-ции. Имеются следующие возможности:

• пошаговое выполнение модулей конфигурации;

• расстановка точек останова;

• прерывание и продолжение выполнения модуля;

• вычисление выражений для анализа состояния переменных.

О Монитор — можно просматривать список активных пользователей. Кро-ме того, монитор позволяет анализировать журнал регистрации действий,выполняемых пользователями в любые периоды времени (историю рабо-ты пользователей).

Некоторые действия с информационной базой в сетевой версии невозможновыполнить, если в ней работает несколько пользователей. Для такого родадействий в режиме "1C:Предприятие" предназначен флажок Монопольно.При работе в конфигураторе вы автоматически переходите в монопольныйрежим. В локальной версии программы этой опции нет.

Область управляющих кнопок:

CJ кнопка ОК запускает программу "1C:Предприятие" в заданном режимедля работы с выбранной информационной базой;

О кнопка Отмена отменяет запуск программы;

П кнопка Изменить изменяет информацию о выбранной базе;

П кнопка Добавить добавляет новую информационную базу. Следует ввестиимя информационной базы и путь к конфигурации. Путь указываетсятак, чтобы в выбранном каталоге обязательно оказался файл настройкиIcvT.md;

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

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

Page 17: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вводные сведения 11

Информационные Базы:

ВостокИмпексВостокЦИнтернетКнигаИнформационная База Й1Информационная База Й2Казахстанская демо под 19 релКанцелярия

ТоргБух

Е:\1 скиг$\Книга\КонстантыЧ

Изменить

Добавить

Удалить

Помощь

Рис. 1.4. Информационные базы системы

1.6.2. Регистрация информационной базыи запуск системы в режиме конфигуратораДля того чтобы создать новую информационную базу, необходимо нажатьна кнопку Добавить и в появившемся окне указать название и путь к пред-варительно созданному каталогу информационной базы (рис. 1.5).

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

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

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

Page 18: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

12 Глава 1

Рис. 1.5. Регистрация информационной базы

ятгиеВерсия 7.7

Кодовая страница и порядок сортировки для таблицинформационной базы в формате Файлов ".DBF; *.CDX:

Г 996-Т 993 фирма 1C, Все праея защищены'

" рагрузка конфигурационной информации...

Рис. 1.6. Выбор кодовой страницы

Page 19: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вводные сведения 13

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

^Конфигуратор - Базовые объекты - [Конфигурация]

TTJg Файл Действия Конфигурация Конструкторы Администрирование Сервис Окна Помощь

у i :• :> е - ш ft C * ~3Й * : f

Г. и « 0: !й:ййЕ; is*.

I Константыj Д§ Справочники

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

] Отчеты] Обработки

j " Планы Счетов

Базовые

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

Проводка

ЭР™,* } Оперативный учетj Жданэпы расчетов

: j Видырасчетое

Д Группы расчетов f НЭСЧеТ^ Кап^тари

^1 Метаданные| Ин

^4 Конфигурация

Дли получения подсказки нажмите Fl 'NUM СТАТУС: БД , Документ

i.t Пуск] £> ,0 ij) " фСогеЮ... |й?Глава1 | @2 Исто.., -[^Коифиг... ^PalntSho... Jjjf Рис1.3- ...| Щ:» К -I 16:12

Рис. 1.7. Окно конфигуратора и группы метаданных конфигурации

В этом окне имеются три вкладки: Метаданные, Интерфейсы, Права. Покамы будем работать с метаданными.

1.7. Объекты метаданныхВ окне конфигуратора размещается стандартное дерево метаданных. Мета-данные — это ветви дерева: Константы, Справочники, Документы и т. д.Объект метаданных — это некоторое формальное описание группы понятийпредметной области со сходными характеристиками и одинаковым предна-значением. Расшифруем эти определения на таком объекте метаданных, как

Page 20: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Глава 1

справочник. Допустим, необходимо создать справочник товаров. Какие дан-ные он должен содержать? Как минимум, следующие:

П наименование товара, причем надо указать, что оно пишется символами(буквами, цифрами), и сколько символов отводится для этой записи;

О приходная цена товара, надо указать, что это числа, с запятой, разде-ляющей целую и дробную части, и обозначить, сколько цифр отводитсядля целой части, сколько — для дробной;

О расходная цена товара, с теми же характеристиками.

Вот в конфигураторе мы и вносим подобные данные, описывающие спра-вочник — объект метаданных. А конфигуратор в ветви дерева справочниковсодержит все необходимые средства для подобного описания.

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

Основными объектами метаданных являются: Константы, Справочники,Документы, Журналы документов, Перечисления, Отчеты и Обработки. Этотак называемые базовые объекты системы. Эти виды объектов характеризу-ются тем, что доступны вне зависимости от того, какую из компонент сис-темы "1С:Предприятие" вы приобрели. Заметим, что есть объекты метадан-ных, которые в дереве не видны и, следовательно, ни к какому основномувиду метаданных не относятся.

Имеются также объекты метаданных, которые вы можете использоватьтолько при наличии соответствующей компоненты. Это те, которые распо-лагаются в дереве ниже базовых объектов. На рис. 1.7 указано, к какимкомпонентам какие объекты метаданных относятся. Коротко опишем ос-новные базовые объекты метаданных:

О константы — постоянные (условно-постоянные) величины. Хранят ин-формацию, которая не изменяется или изменяется достаточно редко: на-звание организации, ее почтовый адрес и др.;

О справочники — списки однородных элементов данных для хранениянормативно-справочной информации;

П документы — служат для ввода информации о совершенных хозяйствен-ных операциях;

П журналы — списки объектов данных для работы с документами;

П перечисления — списки значений, задаваемые на этапе конфигурации;

П отчеты — форма организации выходной информации;

П обработка — используется для выполнения различных действий над ин-формационной базой.

Компонента "Оперативный учет" содержит регистры — средство накопле-ния оперативной информации о наличии и движении средств.

Page 21: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вводные сведения 15

Компонента "Бухгалтерский учет" оперирует следующими объектами:

П планы счетов — списки учетных регистров, по которым будет выполнять-ся группировка средств при работе в системе "ЮПредприятие";

П виды субконто — списки объектов для организации аналитического учетасредств предприятия в совокупности с бухгалтерскими счетами;

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

П проводка — предназначена для отражения в бухгалтерских итогах резуль-татов хозяйственных операций.

Компонента "Расчет" содержит следующие объекты:

П журналы расчетов — средство проведения периодических расчетов и хра-нения результатов прошлых периодов. Каждый журнал связан с одним изсправочников объектов расчета. Каждая строка журнала — единичный актрасчета, который производится по определенному алгоритму, имеет про-тяженность во времени и результат;

^ Файл Действия Конфигурация Конструкторы Администрирование Сервис Окна Помощь

*U & Н •-. •'• : ,: ' - И 3 С и Г™

«о'|Ч* Л '•'** » © j

' *• Si II

Нет метаданных компоненты "Расчет"

Метаданные ] ^Интерфейсы ] Права

т^ Конфигурация

Для полученля подсказки нажмите Fl :NUM (СТАТУС: БД, Документ

ф £g ' ** .Jjrn^al j В]1СПредприя,..| ^]ЗГпава 1 -Mi..; || у^ Конфигурат,. Безьмяннын ... | JJj« К 18:34

Рис. 1.8. Изменение дерева метаданных при отсутствии компоненты "Расчет"

Page 22: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

-_/£ Глава 1

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

О группы расчетов — средство логического объединения видов расчета потем или иным признакам;

П календари — средство построения графиков работы предприятия, внеш-них организаций или отдельных категорий работников.

Естественно, что наборы объектов метаданных будут изменяться в зависимо-сти от того, какие компоненты установлены. Только базовые объекты будутоставаться при любой компонентной структуре системы "Ю.Предприятие".На рис. 1.8 показано изменение дерева метаданных при отсутствии компо-ненты "Расчет".

Page 23: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Глава 2

Начинаем новый проект

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

В открытом окне конфигурации найдите ветвь метаданных Константы ищелкните левой кнопкой мыши на ней, как на рис. 2.1. Затем щелкнитеправой кнопкой мыши. Откроется контекстное меню, в котором надо вы-брать пункт Новая Константа. На экран будут выведены все константы кон-фигурации, и появится палитра свойств константы (рис. 2.2). Зададим этисвойства.

Идентификатор — это название константы для программиста и для техно-логической платформы "Ю.Предприятие". Как правило, идентификаторомвы будете пользоваться при обращении к объекту на встроенном языке сис-темы. Идентификатор должен начинаться с буквы, может содержать буквы,цифры, знаки подчеркивания и не может содержать пробелы и спецзнаки,а также быть длиннее 128 символов. Пусть идентификатором нашей кон-станты будет ДатаРегистрации.

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

Обратите внимание, что в синониме возможны пробелы.

Page 24: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

18 Глава 2

^ Файл Действия Конфигурация «инструкторы Админисгрирование Сервис Окне Помощь . . . . -Jgj X

J Q с* н ; > - • ** '••> •$ ш & <± и'п" ~~~Э# а ? ;' ,«£•% г* н j */# |f*H fi ifi i ij#"&''*-& Ф # ,> & & v< & - - ivj Ч >1 . | | У | r.Y • • ;

:.-: ( Б«иыеОби*тм4 **ШоШЗ'+i Я Справочники

l+i ' .'1 Докумеиты

[+: jfifl Журн»лыд(м(им»ктов

sti ( Пер»чмсп*«ми

l+l |Щ Отчеты

L+] 1щ Обработки

Ы if Ппаны Счетов

Ж ЙЭ ВНАЫ С^ЙКОНТо

Ш Щ OWf *ии«

• Цс Пр«адк»

Щ| Регистру

• Я Жданапыр*счего*

;+; flh Вшырасч«то»

• Д Группы раоч«то»

^ Капенляри

^Метаданные fip Интерфейсы .(^.Прдеа |

^Конфигурация * *

Для получения подскмки нажмите F1 . . . . • " ', WUM .СТАТУС: БД \*t Документ* '

•/•Пуск) -£> . 0 w [ Конфм-урат„7 С?Рисум»си: j 1| Pric2,2-Pair*. j §J Pairt Shop Pro j @ 2 Microsoft ... ."j'3J!« 16:24

Рис. 2.1. Дерево метаданных конфигурации

щ ' Факл Действия Конфигурация Конструкторы • Администрирование Сервис Окна Помощь ,tr..LSJ S,

iD в* Q i * SP ; S? :* ; S»C«i З й Ч Й : ? ;

(•S.|9»'S'i» i* *•© h'C !fi & ijii* &is^ и ti< i^ *-. * "- <- -:* r-s ia ^ - a i » t si: a . : . • . . ' . . / . • . • ' • ' • - " .•"' ^W Еа^овыеОеьенты

if) o^ Еоксгтактн ,

' -ЮЛ fi*T»P*ruC-Tf.illHU

^ Общие j Дополнител>нь» j Права ] ^1-^1

••T: Sf "t" Идентификатор: !новый1!*.- _J Ц« , .;.._

ftj fi< ЖУГ Синоним: . .

te-JJ П»г Комментарий; | дк |

r^ljoep Типзначения: «Строка» J Отмена |

!V 'f пп* длина (ТсГЭ Г" H«.TQ. Точность'!-^ 4=*: © Вид . Обновить

• ЧС Пр«ОАК»

S Регистры

В иды расчете»

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

^ Kan.«ipM

Ц] Метаданные ^Интерфейсы '$. Права |

•^Конфигурация *

,пя получения подсказки нажмите FI - . .. ; . [шм СТАТУС: БД *, Ддауиент *

Ф?Пуск| ф "[у^Конфигурат... ^КнигаБХВ ^Рисг-Paint | ^PaintShop Pro... | @2 Microsoft ,., -| Ц!«с I6:Z3'

'

Рис. 2.2. Палитра свойств константы

Page 25: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начинаем новый проект 19

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

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

Синоним Комментарий Значение

&3- 1C предприятие - Базовые объекты

Файл Действия От

%чш

йрации Справочники Документы

to © ) * ,% i ш ft «t M

нт (29.06.04)

- •

j H*ФИО rn. буя.

H«MU*HO»4HN« 1

Журналь

ЯОЕЭОтчеты Сервис Окна Помощь

— : — * LlJ ;;ш M?l.;to..-...M:.M+ "". !:ИИИИИИИИ ^ ИИИИИ ••«•••• -Jni

,Г ' '

"л- 5 ' ' ' • ' ' i' ' '1

Дата pernu^j'iunw гредлркягня

XOHTJOI» I

Г

ЕШВНВВЯММНИИ |щрвдвдвдщ|

-> Список констант...

ля получения подсказки нажмите F1

1 ' Пуск | <£? - ) ** ^J Рисунки

j ' JNUM |ТА:

1 и z Microsoft ...»

МВВЯННМШВШ

Dl.Qt.Q2 00; 00: 00

1 Конфигурат ... 1

Значемм* Т =01.06 02Петров К.К. ~2

ЯМНЮПЕШШШШЯММШВМШЮМЩМИШ

ЬЙ: 2 квартал 2004 г, |ТГП:

V^ 1С:Предпри... ^ Pnc2_S - Paint j Щ ; «с К . 18:38

Рис. 2.3. Список констант конфигурации в пользовательском режиме

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

Page 26: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

20 Глава 2

Все правильно, нажимаем кнопку Принять. Последнее окно — сообще-ние: "Реорганизация информации закончена!". Нажимаем кнопку ОК, и"1С:Предприятие" переходит в пользовательский режим. Посмотрим резуль-таты нашего конфигурирования. Выберем пункт меню (в пользовательскомрежиме!) Операции | Константы.... Откроется список констант (рис. 2.3). Об-ратите внимание: идентификатор константы вообще не виден — это внут-реннее название константы. А вот синоним (в графе Код) и комментарий(в графе Наименование) помогают пользователю понять, какое значениенужно присваивать константе (графа Значение). Каждый раз, когда про-изошла, скажем, перерегистрация предприятия, в графе Значение вы можетепоставить новую дату. Графы Код и Наименование (синоним и коммента-рий) будут неизменны, так как они заданы на этапе конфигурирования.

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

2.2. Периодические константыКонстантами можно назначить фамилию, имя и отчество руководителяпредприятия и главного бухгалтера — для расшифровки подписи. Фамилияглавного бухгалтера задана константой, если он уйдет в отпуск, его будетзамещать другой человек. Его фамилия также должна быть константой. По-том главный бухгалтер вернулся — значение константы меняется. Уехал вкомандировку — снова меняется. Пройдет много времени, и появится зада-ча: как быстро выписать документы нужным числом с фамилией того глав-ного бухгалтера, который был на момент выписки документа? Вспоминать?Перебирать бумажные копии? А затем, поставив фамилию годичной давно-сти, снова входить в константу и ставить ФИО действующего главного бух-галтера? Для простого решения подобных вопросов константы имеют при-знак периодичности. Периодичность означает, что значения константы непросто замещаются другими, а сохраняются в системе, причем каждому зна-чению соответствует дата, для которой это значение актуально. И если мынесколько раз изменили сведения о главном бухгалтере, то в периодическойконстанте эти данные будут храниться в следующем виде (табл. 2.1):

Таблица 2.1. Значения периодической константы

Дата внесения значения Значение

12.04.01 Иванов И. П.

15.12.01 Петров А. В.

01.09.02 Иванов И. П.

Page 27: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начинаем новый проект 21

Такие константы называются периодическими. Для создания периодическойконстанты необходимо проделать все шаги, которые мы делали ранее длясоздания простой константы. Тип значения — Строка. В палитре свойствконстанты, после заполнения полей вкладки Общие, перейдите на вкладкуДополнительные и поставьте флажок Периодический (рис. 2.4).

Свойства Константы

Общие Дополнительные | Права)

Ра5дел«тгьт|эиады Г

Ме^грицэтельный Г

Периодический Р? ок

Отмена

Обновить

Рис. 2.4. Установка признака периодичности в свойствах константы

Обратите внимание, как изменился значок константы в конфигураторе —теперь он похож на набор карточек. Сохраните конфигурацию и перейдитев пользовательский режим, через меню Операции | Константы откройте окноконстант и щелкните мышью на константе ГлБух. Теперь на панели инст-рументов окна констант активизировалась кнопка История (можно нажатьклавишу <F5>) (рис. 2.5). Щелкните мышью на этой кнопке, откроется ок-но с таблицей, похожей на табл. 2.1, — окно истории значений константы.Заполните одну-две строки таблицы, как бы внесите значения константызадним числом. Обратите внимание, что в колонке Дата имеется кнопкас календарем для выбора даты. Затем закройте окно истории значенийконстанты и внесите новое значение прямо в окне констант. Откройтеисторию значений константы и посмотрите — внесенному значению автома-тически присвоена текущая дата системы. В дальнейшем так будет происхо-дить постоянно.

с Замечание

На вкладке Дополнительные есть еще два флажка: Разделять триады и Не-отрицательный. Эти свойства относятся только к объектам метаданных с ти-пом значения Число. Если установлен флажок Разделять триады, при вводе ипоказе значения объекта метаданных будут автоматически вставляться разде-лители между тройками цифр, разделяя тысячи, миллионы, миллиарды. Еслиустановлен флажок Неотрицательный, система будет автоматически прове-рять, чтобы в качестве значения объекта метаданных было указано тольконеотрицательное число.

Как получить значения периодической константы, мы разберем позже.

Page 28: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

22 Глава 2

История

гмс<ж коистакт (30,06.04) |J4 История; «Рид гл. бух.

Для получи*» подскаясп нв ииите F1

•:Шм'^АГш,оТ,Ог'60:<Ю:00" ""''фИ:"г к!м(1Твя 2004 Г

Y 1 U J U Ри£2_3 - Pant ! А! Конфигурат..'. iferTcini

Рис. 2.5. История значений периодической константы

2.3. Справочники

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

В этом справочнике должны храниться данные о товарах или услугах, в томчисле:

П Код

О Краткое наименование

П Полное наименование

П Тип номенклатуры (товар, услуга)

П Тип товара (собственный, покупной)

О Единица измерения

Page 29: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начинаем новый проект 23

О Себестоимость

П Цена

а Ставка НДС

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

В открытом окне конфигурации найдите ветвь метаданных Справочники.Щелкните левой кнопкой мыши на ней, и она выделится, как на рис. 2.6.Затем щелкните правой кнопкой мыши. Откроется контекстное меню, в ко-тором надо выбрать пункт Новый справочник. Откроется первое окно конст-руктора справочника. Прочитайте подсказку в центре окна конструктораи заполните поля справочника следующими значениями:

П идентификатор — Номенклатура;

П синоним — Справочник номенклатуры;

П комментарий — Справочник ТМЦ.

5£коифиг?|т<» ь..»ныс овммегм Рв»' ШПЕ-ПЗ]r.f. ••••'•• - • ' '•'• ••' : ' • • " - МП *

JJO с* Н : ..- Чг Й- : «

af И-й HI w i*%J * ' <

Э % в | ;* ». и j S.-; Щ] БазовыеОС^екгы

У 1| Справочники

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

1Й"'1Ш} Обработки

Ш "if ПпаныСч«тов

Й-Й ВидыСуекоиго

Л • Щ Операция

: || Провслка

: |йй Регистры

; QJJP Журнапы расчете»

!* •• JJ Вчды расчетов

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

• Календари

Щ] Метаданные Щ Инге

|Т;'т Конфигурация *

V & ;Ш t».C М{ . . jj ft ! f i '

5 • j! С i ЕЁ ti£ l|; '*Ж Ё^ Й* E^ ! ^> ''"• :^ :-

Идентификатор: |||ШЖ1

Синоним: j

Комментарий: |

• Обязательно укажите идентификатор справочника. Поле| "Синоним" может быть заполнено для представления вида •]I справочника в' режиме запуска "1С:Предприсггие". В поле| "комментарий" можно ввести поясняющую информацию.

(у* Использовать конструкторы для создания новых объектов

• : K.-Kiixa "j Далее > I Г/к^^ j' Отмена .Помощь ]

• . :• J

>ИЙсы '1$ъ Права j

Для получения по дскаэки нажмите F1 • i i'NUM ;СТАТУС; БД *j Документ *

|( Пуск{ ifll .0 ** | Конфигурат- ^Рисум<и - Рис2_4 - Pair* ] Щ Paint shop Pro.. |w] 2 Microsoft,,. * UJj« 16:31..

Рис. 2.6. Конструктор справочника

Page 30: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

24 Глава 2

Замечание

Понятия "идентификатор", "синоним", "комментарий" полностью соответствуютпонятиям, описанным для констант и применимы ко всем видам метаданных.

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

Предупреждение 1

Вид метаданных Субконто не является базовым объектом и в дальнейшем нерассматривается.

В результате раскрывается окно редактирования справочника (рис. 2.7).

Файл Конфигурация Конструкторы Администрирование Сервис Окна Помощь

в \I «е «> в ! и и lias i> fe

Идентификатор: {Номенклатура

Комментарий: [Справочник номенклатуры

Коя-ео. уровней. |3^

Длина «ада: |s " -j-j

Додчинен:

Синоним:

I (не подчинено)

наименования:

,-• Серии кедов- - - •-

| Г* Во всем справочнике

; (* В пределах подчинения

гТипкода- — - ••-

i (* Числовой

1 •{* Текстовый

г Основное предстазяенив ••

; Г" В виде кода

! (* В виде наименования

[Справочник номенклатуры

Размещать группы сверху • 15*

Автоматическая нумерация W

Контроль уникальности Р^

-Реквизиты

til

Новый

Г" Оама Форма для эпемента и группы редактировать: | Обоими способами

* Дписание Форма алемента ] Форма группы I Формы списка ^|

^Конфигурация*| ^Справочник Номен.,.)[ Справочник Ном...

Для получения подсказки нажмите F1

Пуск] ** [ Конфигурат... Рис2_6 - Paint

! ;NUM ;'СТАТУС: БД*, Документ *

gg Paint Shop Pro..'. \ Щг Microsoft,.. ." f\« 17:31

Рис. 2.7. Окно редактирования справочника

В окне выводятся и могут редактироваться идентификатор, синоним и ком-ментарий справочника. Назначение поля Подчинен опишем позже. В поле

Page 31: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начинаем новый проект 25

Кол-во уровней выставляется количество уровней вложенности. Например, но-менклатура товаров — оргтехника. Тогда для удобного внесения и поиска ин-формации в справочнике можно создать уровень 1 с папками (группами) Ком-пьютеры, Ксероксы. Далее в группе Компьютеры создать уровень 2 — Бренд,Самосбор и т. п. (рис. 2.8). Из опыта работы известно, что пользователю оп-тимально работать со справочниками, содержащими 3—5 уровней.

Рис. 2.8. Схема уровней справочника

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

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

Длину кода оставим без изменения (5). Длину наименования поставим 50.Максимально возможная длина наименования — 100 знаков. Тип значениянаименования всегда Строка. Тип значения кода может быть как Строка,так и Число. Тип значения кода осуществляется переключателем Тип кода.Включение флажка Автоматическая нумерация устанавливает, что вновь вве-денному элементу в справочнике код будет присваиваться автоматически.Автоматически присвоенный код можно исправить вручную. Если установ-лен флажок Контроль уникальности, проверка кода на уникальность будетпроводиться автоматически при вводе в справочник нового элемента. В этомслучае невозможно присвоение одного и того же кода двум разным элемен-там справочника. Переключатель Серии кодов необходим для того, чтобыуказать диапазон проверки кодов на уникальность. Если выбрана установкаВо всем справочнике, то уникальность кода будет проверяться среди всехзаписей справочника. В случае выбора установки В пределах подчиненияуникальность будет проверяться только в пределах группы, в которую по-мещается или в которой находится элемент. При этом необходимо учиты-вать, что одинаковые коды могут быть у элементов справочника, находя-щихся в разных группах. Переключатели Основное представление указывают,значение какого реквизита будет выведено при обращении к справочнику

Page 32: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

26 Глава 2

по умолчанию — Код или Наименование. Оставьте основное представлениев виде наименования.

Остальные свойства справочника разберем позже.

Установите флажки Автоматическая нумерация и Контроль уникальности.

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

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

Нажмите кнопку Новый, и появится палитра свойств реквизита (рис. 2.9).

Свойства Реквизита

Общие Дополнительные |

Идентификатор: |новый1

Синоним

Комментарий;

Тип значения: («Строка»

Длина: J10 ~г| Г* Неогр. Точность:]!]

ОК

Отмена

Обновить

Рис. 2.9. Палитра свойств реквизита справочника

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

Заполните общие свойства данного реквизита, согласно инструкции в разд. 2.1.Идентификатор — ПолноеНаименование, синоним — Полное наименова-ние, комментарий — Полное наименование. Тип значения — Строка (по-нятно, почему?). Длину установите 100. На вкладке Дополнительные ничегоне устанавливайте.

Page 33: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начинаем новый проект 27

Теперь создадим остальные реквизиты, согласно описанию справочника,данного в начале раздела. Временно реквизиты Тип номенклатуры, Типтовара, Единицы измерения будут иметь тип значения Строка. РеквизитыСебестоимость, Цена, Ставка НДС имеют тип значения Число. РеквизитСтавка НДС имеет длину 6, точность — 2. Это связано с тем, что ставкаНДС указывается в процентах. Три знака резервируются на цифры от Одо 100, один — для десятичного знака, два — для десятичной части.

В нижнем правом углу окна редактирования справочника находится кнопкаФорма списка. Нажмите ее, в открывшемся меню выберите пункт Формасписка. Откроется окно Размещение реквизитов Справочника (рис. 2.10).Флажки установлены напротив тех реквизитов, которые будут видны в спра-вочнике в пользовательском режиме. Если с некоторых реквизитов флажкиснять, они не появятся в пользовательском режиме, но данные в них можновводить (например, через команды встроенного языка) и получать. Нажмитекнопку Вставить. Сформируется шаблон экранной формы списка справоч-ника Номенклатура.

Конфигуратор - Базовые объекты - [Форма-Справочнлк.Номенклатура.ФормаСписка.формапроба]

,|£ файл Действия Диалог Вставить Конфигурация Конструкторы Администрирование Сервис Окна Помощь

tp Диалог ^/\р Мщуль^

Н аименовамие*<; ПолмоеН аименоваиие

Т ипНоменклэтуры)ТипТоеара

^ЕдиницаИэм^Себестоимостьйа««^СтавкаН ДС

\У Разместить в диалоге автоматически

{7 Вызывать для новых Форм

Г" Вставить "Дерево групп"

ставить | Отмена j Помощь

9

^Конфигурация * J а^Справонник Номен...j jjQФорма-Справочн...

Для получения подсказки нажмите F1

Фпуск! £'

Г гз ;Г j Г аЫ I

;NUM :304х128 ;8, 28 .СТАТУС: БД *, Документ' *

I *•$ Конфигура т... v-) Рисунки ^ Рис2_9 • Pant [ Щ Paint Shop Pro.. 2 Microsoft... - 17;Э9

Рис. 2.10. Диалог размещения реквизитов справочника

Page 34: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

28 Глава 2

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

Свойства Поля Ввода (Наименование) Ш

Общие | Тип

Заголовок:

| Дополнительно | Описание | Положение |

[Краткое наименование

Г" Сделать недоступнымГ™ Сделать невидимымГ" Запретить редактирование

f | нд|

OK j

Отмена j

Обновить 1

Рис. 2.11. Палитра свойств поля ввода

9 файл Действия Операции Справочники Документы Журналы Отчеты Сервис Окна Помощь .ar..l.SJ2£

© |

НгЧ

LLj

1 : Л А :

• & Т ' %>

Тепевизор "Samsung"

Холодильник

а

9 Справочник: Спр...

Для получения подсказки н<

*Пуск) Л0 © "

™гь 1""н 1

жните FI

Т*л«изор "Satrwwng"

Холодильник

J ШМ~|ТА: 01*01.02

•t£2 lC:V7«ta... - ОР^У™1'1

ft 1 f i.iiiiil Ml \ У i м м* **• j

Товар

00:СЮ:00

tl Рис2_Н. Paint

Tceap

БИ: 2 квартал 2004 г

Цц Paint Shop Pro..,

SSiba

urr

IQQQt.QO

2000.00

;ТП:""

02 Microsoft... -

20000,00 J3000.00—^

55 i« 17:43

Рис. 2.12. Экранная форма списка справочника Номенклатура

Page 35: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начинаем новый проект 29

Обратите внимание, что заголовки колонок — синонимы реквизитов. Если сино-нима по какой-то причине нет, то заголовком колонки будет идентификатор рек-визита. В данном случае нет синонимов у реквизитов Код и Наименование.

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

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

Ставка НДС, как и ставки любых налогов, может периодически изменяться.То же касается и цены реализации товара. Аналогичные проблемы уже об-суждались в разд. 2.2 — о периодических константах и решаются установле-нием свойства Периодический реквизитам Цена и СтавкаНДС в палитресвойств реквизита через вкладку Дополнительно.

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

2.3.1. Форма элементаВернемся в режим конфигуратора, в окно редактирования справочника. Досих пор мы использовали только так называемую форму списка, т. е. вводи-ли и редактировали данные непосредственно в ячейках таблицы справочни-ка. Но во многих справочниках одновременно работают только с однимэлементом. При этом не обязательно видеть остальные. Если таблица спра-вочника имеет много колонок, то это не совсем удобно при работе — требу-ется горизонтально прокручивать окно справочника. В таком случае можноиспользовать форму элемента справочника. Для ее вызова в окне редактиро-вания справочника необходимо нажать кнопку Форма элемента (рис. 2.13).

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

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

2 Зак. 585

Page 36: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

30 Глава 2

Теперь в окне редактирования справочника можно в списке Редактироватьвыбрать значение Обоими способами. Запустим "1С:Предприятие" в пользо-вательском режиме. Откройте экранную форму справочника. Щелкните поменю Действия | Редактировать в диалоге. Затем дважды щелкните по какой-нибудь строке (элементу) в экранной форме справочника. Откроется имен-но форма элемента (рис. 2.15). Если закрыть форму элемента и вновь про-смотреть меню Действия, то напротив пункта Редактировать в диалоге будетустановлен флажок. Пока этот флажок присутствует в меню, редактирова-ние записей будет происходить только в форме элемента. Если снять фла-жок (снова щелкнуть по пункту Редактировать в диалоге), редактированиезаписей будет происходить в форме списка.

Примечание Д

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

«Конфигуратор - Базовые объекты - [Справочник Номенклатура]

Файл Конфигурация Конструкторы Администрирование Сервис Окна Помощь

3 ,.

р: [Номенклатура

Комментарий: {Справочник номенклатуры

Кол-во, уровней: [3 "jj j

Длина кезда: [5 "fj ' ' • • '

Подчинен: | (не под чинено]

Синоним (Справочник номенклатуры

Ёазмещаггь группы сверху . . Р".

Автоматическая нумерация f7

Контроль уникальности Г?

наименования:

i -'Серии кодов • ...............

1 "Г" Во всем справочнике

| ' f** В пределах подчшения

.=• Тип кода .....................

1 "*• Числовой

', * Текстовьй

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

I С1 В виде кода

s f** В виае наименования

• Реквизиты-

ДИЩ^дУЙ!Т ипН оменк латурыТипТовараЕдиниц аИэмСебестоимостьЦенаСтавкаНДС

Новый ] Изменить! Удалить |

'JJ!JU1

Ml

. . !

Г" Одна Форма для элемента и группы Редактироеаты [Обоими способами

Дписание п '•-< ' | Форма группы j ориы списка

j. { Справочник Нои,

Для получения подсказки нажмите F1 .NUM [СТАТУС: БД , Документ

И] 2 Migosoft... *| [ Конфигурат... *£ ЮПредприя... | Рис2,3 -Paint j gl|«K 18:4t

Кнопка "Форма элемента"

Рис. 2.13. Вызов формы элемента справочника

Page 37: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начинаем новый проект 3 1_______

@ Файл Действия Диалог Вставить Конфигурация Конструкторы Администрирование Сервис Окна Помощь ifll X

; U С* У ; £ Ча m i & *& \ m Э С'"Л| j и' У. ; f j

I Kwfeon Н*им

Полное каим*но»*н

Тип номенклат у]?ы:

Типто»ара:

Единица измерения

Себестоимость:

Ц*м;

Ставка НДС:

рк | •

ЦЗ Диалог

1 Конфигурация ч

еновшне: |Наименоеанме

ПолноеНаим«нование

ГипТовара

ЕдинмцаИзм

ОгавкаНДС

\""•— -"' .. ' . ' .

Реквизиты -

~" Вставлягьимя ^ ~^ "<•-•: jfiu .- ли-и ' jj

™" Разместить в диалоге автоматически

• Вызывать для новых Форм

J £',7 :.V:.:l!.- j ОтмвНЭ - ПОМОЩЬ I

/ ' 'l IJ_ - ' '"• " " ' • . •

! Ф *• i И Т i H i. Ш 1 в j 1 *-j-j|<Ki© P <? n n a

»:йч-. . ' • . . . -• I

••

г иЫ:И( fe j «и; 1» |

1 Справочник Ноиен.,,1({9 Форма элемента-.

Для получения подсказки нажгите F1 , . I jNUM|19xlS

|&'Пуск|. j[d110, 20 .СТАТУС: БД *, Документ *

^ и[^2 tC:V7sta». '» ^Рисун<и f Рис2_Д2 - Pent j §j$Paint5hopPro... j 02 Mcrosoft ,.. » ИИ* ^:^

Рис. 2.14. Конструирование формы элемента справочника

2.4. ДокументыТеперь начинаем создание документа.

ЗамечаниеС~

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

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

В документ Приходная накладная необходимо вносить следующие данные:

П наименование товара;

О цену товара;

Page 38: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

32 Глава 2

П количество товара;

П сумму;

О ставку НДС;

а ндс.Откройте дерево метаданных, щелкните левой кнопкой мыши по ветвиДокументы, затем щелкните правой кнопкой мыши. В контекстном менювыберите пункт Новый документ. Откроется первое окно конструктора (мас-тера) документа (рис. 2.15). Прочитайте подсказку в центре окна конструк-тора и заполните поля идентификатора, синонима и комментария следую-щими значениями:

П идентификатор — ПрихНакл;

О синоним — Приходная накладная;

П комментарий — Приходная накладная.

EJ (щ! БазовыеОбьеггы

Справочники

Документы

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

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

ijjh Отчеты

Обработки

Планы Счетов

*- 1 1 Виды Субкокго

•+• || Операция

'-. - Ц£ Проводка

ffi"

Ж(фнаг)ы расчетов

Виды расчетов

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

^сттаидашдш^уга

Идентификатор;

. Синоним:

Комментарий:

| Для создания нового документа обязательно укажитеидентификатор документа. Поле 'Синоним" может быть

| заполнено для представления еида документа в режиме запуска iI "1 С:Предприятие". В поле "Комментарий" можно ввести любую i| поясняющее информацию.

Использовать конструкторы для создания новых объектов

Отмена 1 Помощь

Метаданные j щ} Интерфейсы ] - -ч Права

^Конфигурация *

Для получения подсказки нажмите F1

* Пуск ^2 lC:V7sta... <•' . f Рис2_И- Paint [ Д Paint Shop Pro.. , |

'JNUM СТАТУС: БД*, Документ*

Й^ Mcrosoft ... -[ ЩИТ 17:46

Рис. 2.15. Конструктор документа

Нажмите кнопку Далее. Флажки проведения и перепроведения документа уста-новите, если они не выставлены. Нажмите еще раз кнопку Далее, в появившемся

Page 39: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начинаем новый проект 33

окне установите флажок Документ будет принадлежать журналу. Затем выбе-рите пункт Создать новый журнал. По умолчанию идентификатор журналатакой же, как и у документа — ПрихНакл. Нажмите кнопку Далее, пропуститевставку документа в пользовательский интерфейс (у нас его пока нет).

Нажмите кнопку Далее. Этот шаг — заполнение свойств журнала. Иденти-фикатор уже есть, синоним и комментарий заполните самостоятельно. На-жмите кнопку Готово.

На рис. 2.16 показано окно редактирования документа.

2*Конфигуратор - Базовые объекты - [Документ ПрикНакл! (!)]

] Файл Конфигурация Конструкторы Администрирование Сервис Окна Помощь

и Ш zJ;J

1&&

Идентификатор: ШрихНакл | П рихН акл

Комментарий: {Приходная накладная

г Реквизиты шапки ~ -

г+чурнал:

Синоним: {Приходная накладная

Реквизиты табличной части

~3

JLJ:til -Jill

Новый I Изменить] Удалить 1

•-Номер-

Нумератор: « Не назначен »—I , Тип-» '. 4* Числовой

г Периодичность: [По всем данного вида

| П7 Автоматическая нумерация

I W Разрешить проведение документа

. W Автоматическое удаление движений

I P Автоматическая нумерация строк

Создавать операцию: |

Ввод на основании...

^Конфигурация* jjig] Документ ПринН...

Длина;f Текстовый

г? Контроль уникальности

Г •;;-. - - г - . . - ,./;••<

Г Расчет

Г~ Опееатиеный учет

Модуль Документа

получения подсказки нажмите F1

*Пу«| & Л "[^г lC:V7sta... .. и?Рисунки. | j Рисг_15• Papt | ggPaint Shop Рго„

INUM СТАТУС: БД"

Я 2 Microsoft... -

, Документ *

Рис. 2.16. Окно редактирования документа

Термин "шапка" используется для обозначения заголовочной части докумен-та. Однако правильнее считать реквизитом шапки любой реквизит, значе-ние которого встречается в документе только один раз. В табличной частиразмещаются реквизиты, которые могут иметь несколько значений. Обычноопределить, будет ли реквизит относиться к шапке или к табличной части,достаточно просто. Если у вас есть бланк документа (накладной, счета),то из него видно, какие реквизиты будут относиться к табличной части,то есть являться колонками в многострочной части документа. Если бланка

Page 40: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

34 Глава 2

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

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

ЗамечаниесУ любого документа существуют по умолчанию три реквизита шапки: дата, времяи номер документа, а также один реквизит табличной части — номер строки.

^Конфигуратор - Вазое

[i|j Файл Конфигурация

ые объекты - [Документ ПрикНакл! (i)l ИГЗЕЗКонструкторы Администрирование Сервис Окна Помощь mKtfi х

!JQ В* У : >: *& Ш Га -> ;[Я » <* #И jJ.$.-& j - f j .'.

ji®a ^ nPk **'». ~&k \ *& & О ; 0 6i 6i aJN КГ"- JEN ?- Ш* U*4 s f,& '^' •-•'''• '-^i- '''•''• !'. j • ' . ' • • - '

Идентификатор: ]ПрнхНакл ^урнал: [ПрихНакя

Комментарий; {Приходная накладная иноним: (Приходная накладная

"г Реквизиты шепни - : ; -.•• т. ;; ' ""' .' ' " "" ' "'" '[ ' " Реквизиты табличной части: - ;'. ::. • :;- v ., .

• 1 • В ВБЭОШЯНИ вНВ!

; Общие

1 tlnl .... .. . :;»гб.о..-у; ..''—"•' •' :

Дополнительные] ^ 1 -И ] йт[|

Идентификатор: [Поставщик

:11 '. : . СИНОНИ!1

-"1 Новь|й j Комме

'[•'Номер- Типзна

' 1 'Цумератор:

\ Периодично!

f. {Поставщик

тарий: Q(; : j

чения: |Справочник.Контрагеиты _^J j-.

\ Р" Автоматическая нумерация $У Контроль уникальности

j ~W Разрешить проведение документа Г~ £...;>:! ~i;:v;x .;:j • •••*-!

\ Р" Автоматическое уааление движений Г* Расчет

' ] '1*7 Автоматическая нумерация строк Г" Оперативный учет

Создавать операцию: )

ЁВОД на основании... J

1$-р Конфигурация * ] [

Для получения подсказки н

jj ПРзД^мро^оп^ии • .

писание £орма Модуль Документа

J Документ ПрихН...

жмите F1 | JNUM [СТАТУС:. БД Документ*

^21C:V7sta— » .u f Рисунки | Рис2_16 - Paint §Ц Paint Shop Pro... j fw] 2 Microsoft,.. » ^;** ^:<*9

Рис. 2.17. Палитра свойств реквизита шапки документа

Создаем реквизиты шапки. Пока в ней будет только один реквизит — По-ставщик. Нажмите кнопку Новый под полем Реквизиты шапки. Заполните па-литру свойств реквизита (рис. 2.17). Обратите внимание на тип значенияСправочник. Контрагенты (этот справочник вы должны были создать само-стоятельно). В системе "1С:Предприятие" при создании справочника сразуобразуется тип значения, соответствующий этому справочнику. Смысл выбораэтого типа значения следующий: не нужно будет вручную вводить контраген-

Page 41: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начинаем новый проект 35

та-поставщика. Его достаточно просто выбрать из автоматически открываю-щегося при обращении к реквизиту справочника. Выбор типа значения Спра-вочник означает, по существу, прямое обращение к данным справочника.

Если какие-либо данные хранятся в справочниках, старайтесь при исполь-зовании этих данных создавать реквизит с типом значения Справоч-ник.ВашиДанные. Как правило, этот прием поможет экономить время поль-зователя и защитит ваши данные от излишних ошибок. Ведь если каждыйраз впечатывать наименование товара, можно пропустить букву, внести со-кращение и т. п. А система воспримет такой неверно описанный товар, каксовершенно новый, и произойдут ошибки в учете.

Теперь создадим реквизиты табличной части. В одной приходной накладнойможет быть несколько товаров, следовательно, товары у нас должны размещать-ся в табличной части. Нажмите кнопку Новый под полем Реквизиты табличнойчасти. С помощью палитры свойств создадим реквизит Товары, тип значения —Справочник.Номенклатура. Затем реквизит Цена, тип значения — Число, дли-на 10, точность — 2. Реквизиты Количество, Сумма, НДС имеют такие жесвойства, реквизит СтавкаНДС имеет длину 6 при точности 2. Создайте их са-мостоятельно. Если будут затруднения, обратитесь к учебному примеру.

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

Нажмите на кнопку Форма, и у вас появится диалоговое окно размещения рекви-зитов документа, аналогичное такому же в конструкторе справочника (рис. 2.18).

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

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

Запустите конфигурацию в пользовательском режиме и откройте новый до-кумент Приходная накладная (Операция | Журналы документов | Журналприходных накладных, в окне журнала выберите Новый). На рис. 2.20 пока-зан пользовательский вид документа. Если щелкнуть по кнопке в полеПоставщик, откроется форма справочника Контрагенты для выбора постав-щика. Если щелкнуть по строке в колонке Товар, можно выбрать товар дляавтоматической вставки его в табличную часть документа.

Автоматическое заполнение поля Поставщик нас вполне устраивает. Нов рабочих конфигурациях, помимо заполнения колонки Товар, автоматиче-ски заполняются, как правило, и другие колонки — Цена, СтавкаНДС. Этиданные ведь тоже находятся в справочнике Номенклатура, и нет необходи-мости их вводить вручную.

Page 42: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

36 Глава 2

Q Файл Действия Диалог Встав

;зв*н ]Гчше • i

Приходная j

По ст а&ш ч к| Поставщик

• Т*М»

_

*ть „ Конфигурация Конструкторы Администрирование . Сервис Окна Помощь' .1Д1.Х

!Ш ' С Ч J« 'к, : ? ; . .

Реквизоты

НОМ,,

П.»'

'

Kto M,LJJ

Г" Вставлять имя "'•: '•:.••••-&.• •:• \ ";•-"*:• ы.--:'-:..г. ^J :

ОК | Эмфмгъ ] Подбор |

Реквизиты табличной части

?,.,

Г" Разместить в диалоге автоматически

П"* Вызывать для новых форм

Отмена j

CJ3 Диалог /£] Модуль

ТГ» Конфигурация * | g Документ ПрихНа л Ц^Фсфма-Докунет.»

Для получения подсказки нажмите F1

£?Пуск| £$>'$$) w[^2 10V7«ta... - U> Рисунки j ^Pnc2J7-Pabt

Помо

Q 1_D J

ЩЬ f

П гз ;":.

I

г •'*! p i Вм -*i i '» j

WUM |МЭ х 17 U, 20 СТАТУС: БД *, Докунент *.

|| Paint Shop Pro..; j @2 Microsoft ... »j Щ|« J7:S1

Рис. 2.18. Диалог размещения реквизитов справочника

Элементы, созданные программистом

Файл Действия Диалог Вставить Конфигурация Коиструкторы Администрировамие Сервис Окна Помощь

Б ]& Ё • -|is

Элементы,созданныеавтоматически

|х и : п гз д г

NUM |158 X П 8, 20 КТДТУС: БД, Документ

)%.1С!Предц»1я...| ^

Рис. 2.19. Шаблон экранной формы документа

Page 43: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начинаем новый проект 37

55 1Г:Прелприятир - Базовые объ

Файл Действия Операции Справочники Документы Журналы Отчеты Сервис Окна Помощь

;3 Я. ft j ? j i; a si SP : j у j м м* «И

Щ Шнжш

t I Я S В

,ОПШ

Приходная накладная I S O T I0206M Ш

пмт»иик| [..J цеца включает•i

1T»v Шеи* HK«mx>T><> .Uн

1 1 'К

Справочник: Справочник но

-inf >

Авто- Альянс 000

| fgj Приходная наклад...] fl Справочник: КЬНт...||ДСпрарочни|ССпр... ; : '

Для получения подсказки нажмите F1 : ;NUM ;ТА: 01, 01, 02 00:00:00 ЕЙ: 2 квартал 2004 г. [ТП:

|%Пуск| ft jj| <Q "|^21С:У7Я:а-. - -. Рисунки | JJ Рис2,18 - PaJnt [ gg Paint Shop Pro... | |g]2 Microsoft .

>f

Щ\« 17:54

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

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

2.4.1. Построчное заполнение документаЗайдите в шаблон экранной формы документа (см. рис. 2.19). Если она былазакрыта, откройте окно Конфигурация (вкладка Метаданные), в дереве мета-данных выберите Документы, раскройте эту ветвь (щелкните мышью познаку +). Затем щелкните правой кнопкой по документу ПрихНакл и в кон-текстном меню выберите пункт Редактировать форму.

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

Page 44: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

38 Глава 2

прямая ссылка на справочник номенклатуры с позиционированием (уста-новкой на определенную строчку) этого справочника. Далее мы присваива-ем реквизиту документа Товар значение реквизита Наименование из спра-вочника Номенклатура, то есть наименование товара. Вспомните, в разд. 2.3мы установили основное представление справочника номенклатуры в виденаименования.

Для обращения к другим реквизитам справочника используется точка.Чтобы найти значение цены товара в справочнике Номенклатура, нам на-до написать конструкцию Товар.Цена. Механизм прежний, только вместозначения реквизита Наименование мы получаем значение реквизита Себе-стоимость. А вот где написать конструкцию Товар.Себестоимость? Нужнообратиться к табличной части шаблона экранной формы нашего документа.Конечно, себестоимость из справочника должна попасть в колонку доку-мента Цена. Но заработать эта конструкция должна при выборе товара.Мышью выделите колонку табличной части Товар, из контекстного меню(правая кнопка мыши) выберите пункт Свойства, в палитре свойств поляввода откройте вкладку Дополнительно. В поле формул напишите формулуиз рис. 2.21.

Цена=Товар.Себестоимость.Получить(ДатаДок);

. Я Г t t IДокументСправочник Периодический реквизит

справочника

Рис. 2.21. Состав реквизитов в формуле

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

Рис. 2.21 дополнительно поясняет, каким образом в реквизит документаЦена попадает цена товара из справочника. Разберем подробнее обращениек периодическому реквизиту справочника. Структура данных периодическихреквизитов аналогична описанной в разд. 2.2 структуре данных периодиче-ских констант. Для того чтобы получить значение периодического реквизитана определенную дату, нужно применить метод получить (дата). Это датасоздания нашего документа. Она хранится в реквизите шапки документаДатаДок. Обращение к методам также осуществляется "через точку". Символточки с запятой применяется для разделения нескольких формул в поле.

Процент ставки НДС передается в соответствующий реквизит документааналогично цене. В поле Формула после формулы вычисления цены товараи точки с запятой напишите следующее:

СтавкаНДС=Товар.СтавкаНДС.Получить(ДатаДок);

Page 45: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начинаем новый проект 39

Количество товара мы можем внести только интерактивно. Но в перемен-ной количество нужно написать формулы, при которых вычисляется суммастроки и НДС.

Сумма=Цена*Количество;

НДС=Сумма/(СтавкаНДС+100)*СтавкаНДС;

Теперь, запустив в пользовательском режиме "1С:Предприятие", попробуйтезаполнить строку документа (рис. 2.22), несколько строк.

Jj t Г предприятие - Базовые объекты - [Приходная накладная - 31

зг] Файл Действий Операции Справочники Доку

U G* В : >•• "• : Р . ;3- ...£ ' S S С

а Щ '*Si t * z* ' Й il) k7

центы Журналы Отчеты Сервис

Wl zl^4

НПЕЗ

Окна Помощь • j.jfijj x

Приходная накладная Г~ ' ofi110203 111

Постаыц

нt-t

«|Агг,>-Апмисаоо У Цена включает

Товап УЦеиаТм*емзор "Samsung"

Т«П«ВИ90Р "SlfrtSUtig"

OK 3wpwrw j Подбор |

10000.00

10000.00

Количество1.00

1.00

Суыиа10000.00

10000.00

Ста» а ...

1600

16.00

НДС л.\1379.31 ~~1t3793t—J

•v]

^Журнал документ.. . j [§j Приходная накп...

Для получения подсказки нажмите Fl

i? Пуск

[NUM JTAi 01,0^02 OOiOOibo

О *& 0 "1*^2 lC:V7sta,.. ' ^Рисунки ] ^ Рис2_20 - Рас*

pw": 2 квартал 2004

g§ Paint Shop Pro.,,

г, |ТП;

[S] 2 Mcrosoft , . . " U | « - - 17i59

Рис. 2.22. Документ, заполненный автоматически

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

Page 46: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих
Page 47: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Глава 3

Начала программированияв системе "1С:Предприятие"

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

3.1. Встроенный язык системыВстроенный язык системы "1С:Предприятие" является предметно-ориентированным, объектным языком программирования. Язык предназначендля описания алгоритмов функционирования прикладной задачи. Для облегче-ния написания текстов на этом языке в синтаксисе его реализована практиче-ски полная двуязычностъ. Одни и те же системные конструкции и зарезервиро-ванные слова языка могут быть записаны как по-русски, так и по-английски,причем в одном тексте можно использовать как русские, так и английские си-нонимы. В документации к системе "1C:Предприятие" версии 7.7 описаниевстроенного языка приводится с русским и английским синтаксисом.

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

3.2. Программный модульи простейшие программыВ программном модуле содержатся специфические алгоритмы функциони-рования, оформленные в виде процедур и функций, написанных на встро-енном языке. Место самого программного модуля в конфигурации — в тех

Page 48: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

42 - Глава 3

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

О модули формы объекта метаданных, предназначенные для обработкиданных, внесенных в экранную форму;

О модули объекта метаданных в виде документа;

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

Все модули имеют одинаковую структуру. Каждый модуль может состоятьиз трех разделов:

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

2. Раздел процедур и функций; отдельные действия, выполняемые в модуле,оформляются как процедуры или функции и имеют имя. Отличия про-цедур от функций: процедуры выполняют некоторую задачу, например,напечатать документ. Функции выполняют вычисления и передают сис-теме результат, например, вычислить дату и передать ее для дальнейшейобработки в процедуру.

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

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

Когда, в соответствии с логикой работы, должен быть вызван модуль, сис-тема выполняет следующие действия:

О Находит текст модуля в конфигурации.

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

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

Page 49: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начала программирования в системе "1С:Предприятие" 43

ется основной программой. Ее назначение — выполнить инициализациюмодуля.

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

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

Откройте конфигурацию, щелкните правой кнопкой мыши по наименова-нию конфигурации Задача, в контекстном меню выберите пункт Глобальныймодуль (рис. 3.1). Откроется пустое окно — это и есть место для написанияпрограммы в глобальном модуле.

В окне введем следующий текст:

//раздел переменных

Перем привет;

//раздел процедур и функций

Процедура приветствие()

Предупреждение (привет);

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

//раздел инициализации

привет="3дравствуйте!"; //инициализация переменной

приветствие(); //вызов процедуры

Правила работы в окне написания программ такие же, как в любом тексто-вом редакторе.

Разберем приведенную программу.

Двойная наклонная черта // означает комментарии к программе. Коммен-тарии — это заметки программиста не для исполнения системе, а для себя,чтобы было удобнее пользоваться программой. Слова, написанные послезнака / / , система не интерпретирует как программу. Наличие комментариевочень важно, и ими нельзя пренебрегать, иначе вы запутаетесь в собствен-ной (тем более, в чужой) программе. В данном случае мы комментариямисопроводили классическую структуру программного модуля.

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

Page 50: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

44 Глава 3

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

$• файл Действия Конфигурация конструкторы Администрирование Сервис Окна Помощь

-р <* у ; х, *? if л га э -г лП" ~Е а а . т

и %-й * I и а

«Э с Общие таблицы

—J • • | Библиотека Картинок

Р " J3 Редактировать

^Конфигурация

Редактировать Глобальный иодуль эадачи [ NUM :СТАТУС;БД^ Докуивнт

h/CKJ п С^КмигаБХВ |j^Конфигуратор-базо-. И)5Глава3-MJoosortWord ) В] |СГРедприятне-Мсго...[ 2Э © : Г|м 17-

Рис. 3.1. Переход к глобальному модулю в конфигурации

В разделе инициализации переменной привет присваивается значение —выражение "Здравствуйте!" (инициализация переменной) и вызывается про-цедура приветствие { ) . Почему требуется вызывать процедуру? Глобальныймодуль автоматически выполняется при старте системы. Но откуда системаузнает, какую процедуру нужно выполнять первой, второй и т. д.? Из разде-ла инициализации, где указан порядок вызова процедур.

Примечание

Точка с запятой является символом разделения операторов (отдельных командпрограммы).

В меню Действия | Синтаксический контроль осуществляется проверка син-таксиса программы. Если вы написали все верно, в окно сообщений будет

Page 51: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начала программирования в системе "/С/Предприятие" 45

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

^ Примечание

Если панель инструментов отсутствует, ее можно вызвать, открыв меню Сервиси выбрав пункт Панели инструментов.

Теперь запустим "1C:Предприятие" в режиме исполнения. Результат работыпрограммы см. на рис. 3.2.

1миииалиэаиил гпобального иод

-f; Пуск] 0 ,й$ if) " JjKHHraBa • • J _ - 'Уф**' т0р ..'.r.'Jl S "1С;Предпрмат.- ^5Г)ШаЗ-М1сго„.] ^11СПрвдприятн,.. j

Рис, 3.2. Приветствие системы

Текст программного модуля разноцветный. Это очень удобно. Синтаксиче-ская ошибка в написании оператора изменяет его цвет. И структура про-граммы становится более наглядной.

Page 52: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

46 Глава 3

^ Примечание"

Настроить выделение цветом синтаксических конструкций можно, зайдя в менюСервис | Параметры и выбрав вкладку Модули.

Дополнительно исследовать нашу программу можно с помощью синтакс-помощника. В процедуре приветствие () щелкните мышью по системной про-цедуре предупреждение { ) , затем правой кнопкой вызовите контекстное меню ивыберите пункт Поиск в синтакс-помощнике. В правом нижнем окне (рис. 3.3)помещено подробное описание системной процедуры Предупреждение ( ) .

I Файл Действий Tei

э с*н * *<Конфигурация Конструкторы Администрирование Сервис Окна Помощь .

мГ

.'.'рвадщ/r пглзцидур н функцииПроцедура при6елсжвие£ )

Предупреждение (привел);КонецПроиед 9рк

Процедуре Запрос Количеств а В Подборе С Вы 6 , Ком») Экспори ,',-' иимцндошЕсли ВыБ ПомежкаУдвлвни я ( ) = 1 Тогда '/жоввр попечен не удаление

npe9giipe*gemje( "Нельзя выбирать помеченные на удаление ловгВозврап; . '/прекращаем рв&эмд процедур*!

Конец Если ,Кол*! ; .'/Объявили переяенкую для еьода количества и прис&соь ••Если ЕввстиЧисло(Кол, 'Введите количество" .. 10, 2)"1 Тогдв

Комм Но6аяСтрок«( ); // довабляем сжроку е гааБличку» чес'Коии-Товар^ВыБ: //То&вр из &^S 6 до5вйлекид» сарок;

Конл.Количество"Кол;-'''Кол^чес1нво- »удв жеКснецЕсли ;

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

Процедура Вь1ч_сдннь1__НЛКи(Коит) ЭкспортКонт Су «но -Кои» Цена «Кон ж . Количество :Кон» НДОКс-мт.Снинв'ЧКомт С»а8каНДС-ИОО)«Кот» ХяабклНДС;

КонецП роцеду рь!

ПокэзыватьНвси1ройкуТорговли11Кон':,Ж'1*и)(1'.« .Контроль.Ег-,ш ПоказыватьН«с*роику Торговли: 2 ТОА^А

ОмфММЬФефП^Кав* ibH'.-j ; "ОБрвБотка . Наст ройкаУ чеша" ) ;

/''npegonpeige>.rf&HHa я nvjoutvgyjvi"*ддр« ПриЗавериемииРаБожыСисжемы ( )Efi-fu &Ьй$сэс{ "rkStJM программы закончена?" . "Да+Нет" )- "Неж"

С я м в Ф о о в а в ) ;

'iCl Диапогмма1^ Общего назначения

I S- • Q Вопрос: • 0 Предупреждение: 'Г| Сообщить

: ' 0 ОчиститьОкноСообшений: (j Состояние

! Q ?1 -Q Ситная

i J Cpeae иijj Работа с транзакциями

: ^J Обработка значенийLJ Оперативный ачетi J Бихгалгерский ччетliJ Р*счетrj Специальные

об- моауль. прел опсеае ленные процКонтекст ФормыКонстантаСправочникПеречисление

и1редупрежденив(<?>);

Эывести окно предупреждения (модапьное).

еТекст_вопроса> • строка текста предупреждения;Тайм»ут> - число секунд времени показ* окна предупреждения (если опущен tu

), то без ограничения).Тодробнее см, в документации, глава 'Системные процедуры и функции1

'" NLM i i" ' .СТАТУС: БД'Гдокуммп*

|f РисЗ_2 - Рай* ' ВВ ^ © ! ? [« J7:32

Рис. 3.3. Описание процедуры предупреждения

Попробуйте самостоятельно поработать с параметром тайм-аут.

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

Page 53: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начала программирования в системе "1С:Предприятие" 47

^ Примечание

В синтакс-помощник можно попасть также через меню Сервис | Синтакс-помощник.

Помимо процедур, которые мы создаем самостоятельно, в языке"1C: Предприятие" существуют предопределенные процедуры. Эти процедурыимеют свои, зарезервированные системой названия. Они предназначены дляобработки определенных действий пользователя. Какие действия пользова-теля обрабатывает предопределенная процедура, можно понять из ее назва-ния, например, процедура ПриУдаленииДокумента() ИЛИ ПриНачалеРаботы-СистемыО. Тело предопределенной процедуры программист пишет сам,в соответствии с алгоритмом, который необходим для решения задачи. На-пример, в процедуре приНачалеРаботыСистемы()можно программным путемузнать права пользователя, можно проверить, какие компоненты системы"1С:Предприятие" установлены на компьютере пользователя и т.п. Видыпредопределенных процедур вы можете посмотреть в синтакс-помощникедля глобального модуля или при открытии ветви, относящейся к определен-ному виду метаданных (рис. 3.4).

0 Файл Действия Те*

• а с* и | » *; *• i в *;of : % Г, н , «В » © ;

Конфигурация Конструкторы Администрирование Сервис ОКНА Помощь

ИроЖ'гДур^ ЗвпросКаличвсмваВПодбореСЬ^Б Кони) -"ксп'.'фи " икм'лрлкяндбчю fcwcЕсли &1Б.Памежха,УдаленияО с 1 Тогда //ьовар помечен на удаление

Предупреждение ( "Нельзя выбирать помеченные на удаление т о в а р ы ! " ; :Бемврая, " прекращаем pao&Jfc-j ^роцадуры

КсшччБсли •Кол = 1,''ХО&ьявил« переиеннчю -для ббо-да количества и присвоили эй зЕсли Б6ес»иЧислс(Кол. "Введиие количество", 10, 2)"1 Тсэдв

КОМА . НоваяСлрсжа( ! , "' доЕавляем скрсжц И тквБ/ш'чи'-гю часльКони Товар-ЕЫБ: -'^Товар из Выб 6 добевлекнум слрокд

Конл. Количвслво=Кол //Количеслйо- ткудь ж*Кс-нецЕсли :

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

Процедур» ЕЬ1ч_сдмии_накл ( Кон* ) ЭкспортКон» .Суина-Кон» . Цена*Кон». Количество;Конж НДС-Кони Сцина.'(Кони.Си1авхаНДО100)«Коил СтавлаНДС.

Коме uTIpoueg у ри

хгцредспредв^еннэя процедураПроцедура ПринЛчалеРаБолыСисмемьК )

Поквэыв атьНаслройх.у Торгов ли - Кснетанэ.а . Коижроль ;Если ПокззыввтьНастройкнТорговли^З Тогда

Отк.рыть*ор«аМодзль«о( 'ОбраБскка . НастройкаУчеиа" ) ;-

ПриЭавер«енииРа5омЬ)Систем£|()ЪлретЛ "РаБожа программы закончена?" "Да+Нет")""Н

. .привел" "Здрввстбдиже! " ;приветствие;' ) ' .'.'выасй п

±1

r- J Встроенный я3 Конструкции а

1 Llj Системные. 3) Глоб. мевуль, предопределенные проц.

ПриОткрытииИсторииj ЛриЗаписиИсторми

ПриУдалвниИИсторнм•• р ПриЗаписмКонсганты

[J ПриУдаленииДЕжуменга: -Q ПриИзменеимивремени Документа :| р ПриОтменеПроведенийЛокулентаI Q ПриУстановкеОтбора; р ПриУдаленииСчета: Г) ПриВькпВк.яПроосаокОперщии; р ПриСменеРасчетногоПериодаQ ОбработкаЯчейниТаблицыКомтеклт Формы

3 Справочник3 Перечислени ,

t ПриН»чм«Р*бо1ыСис1смы(( ^(онеиЛроцедуры

1леРаботыСистемыО

процедура при начале работы

процеяура может располагаться только[глобальном программном модуле

в документации, глава 'Системные^

j *•! РнеЗ_4 гПрогр... - Microsoft W...J ^} Проект 690. Е^,

СТАТУС: БД , Документ

. Я О •? '« "'•

Рис.,3.4. Описание предопределенных процедур модуля формы документа

Page 54: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

48 Глава 3

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

Так как алгоритм должен выполняться при окончании работы всей системы"1C:Предприятие", просмотрим предопределенные процедуры глобальногомодуля. Предопределенная процедура приЗавершенииРаботыСистемыО намподходит. Напишем текст процедуры, разместив ее в разделе процедур ифункций, после процедуры приветствие о (рис. 3.5):

Процедура ПриЗавершенииРаботыСистемы()

Если Вопрос("Работа программы закончена?","Да+Нет")="Нет" Тогда

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

КонецЕсли;

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

Фэйл Действия Текст Конфигурация Конструкторы Администрирование Сервис Окна Пэсющь . i f f !

т » с MI* Г. н ; <е * е 1

Процедура ЗапросКоличвс»ваВПод&оре(ЕЬ|Б, Кони) Эксгюрч f интервалчино Внстабл

Прсэвдпр'Од-звнш!: ( " Нельзя Выбирать помеченные на 99*лешие лобары ! " ) ,Всобрэлл; /•'Брекрач-аеи р.аЗс»гу npouegypf-i

Если Евес»иЧ«с-:о(Кол. "Введиже iКони НоваяСаролвО- " ^««

Конт Товар=ВиБ; .' ТоЬар из JAiS & gooaiКон».Количество1Кол '/НоличеслЬо- тцдв же

тво" , 10, 2 J ' l Тозда.строку г:> тл^лчч**;,-**

_ _ -Конл Сунна =Коыж . Цвма*Комт КоличесгбКом» НЦС=Коя» Снкма

Конезд!! ivri цеч ч рыСшвВкеНДС+100)*Кон» .С»авкаНЦС;

.ГТоказываньНасиройкуТорговли^Конс-гавнл!?. . КонмродьЕе MI Показы в а кьНас «.ройку Торговли- 2 Tosga

0>»Kfi.:Rfivjp.4ijMog».tfcno( "Обработка . НастройкаЧчета" ) ;КонецЕсли ;

ли Вопрос ( "Рабо»а програниы закончена?" , "Да+Не»" ? а"Нвт" тогда -'-'произЬольС»алдсво^вра«1Л\0) ; /-V пело

прибег ='3gp*6c»egu»e! " , /V инициала ааци я переменкойпривексжвие { ) ; //вазе* процедуры

J Константа

_J Перечисление*£j ДокиментФ-ц^Э АтрибутыЯ CJ МетоаыEi ~jj Мшуль формы

* LJ Метэды. [f: ' J Предопределенные

_

-;£) ПриОткрыгии

i - Q ПриЗапмси. • [3 ПрнВвоивСтрсжи

Q ПриРедактироеамннНоеойС! :

-{f) ПриНачалеРедактироваимяСQ ПоиОкончаиимРедактироеа)-

! Q ПриИэмене»*Лор«1каСтроQ ПриУдаленмиСтроки

Синтаксис:ПрвдупрежцеииеЕ «Текст _ссюОвда*1я>,«Таймаут>) .

Вывести окно предупреждения (модальное).

tCwttwypauH^ JJ:J Гл^аяьныймоду»'"

Для получения под ска эки нажинто Fl . i, 17

jHlycitj <^ ,j§ j*) ** j K raE^ |[д;конфигурато..." ^ !Г а итрияти....|_ _ дава_Э-_MiH j_Щ|С лпр

тредупрежвения;'Таймаут» - число секунд времени nwasa окнаЧзедупреждения (если опум^н или 0, то без

я).

NUM .' ! СТАТУС) БД , Документ

РисЗ_4 -Paint . j Щ; g| j ? ГйТтй

Рис. 3.5. Произвольные и предопределенные процедуры

Page 55: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начала программирования в системе "1С:Предприятие" 49

Несмотря на то, что текст процедуры состоит из трех строк, она достаточносложна для начинающих. Разберем конструкции, появившиеся в этой про-цедуре:

Если <Условие> Тогда <0ператоры> КонецЕсли;

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

Подробное описание системной функции вопрос ( ) посмотрите в синтакс-помощнике. В нашем случае эта функция выводит на экран окно с вопро-сом, кнопками (Да и Нет) и возвращает ответ пользователя. Если вы нажме-те кнопку Да, условие ЕСЛИ. .. тогда . . . КонецЕсли; не будет выполнено,и программа завершит работу. Ведь функция Вопрос вернет в процедурузначение да, а выполнение условия — если ответ на вопрос вернет значениенет. Если же вы нажмете кнопку Нет (вопрос ( . . . ) =нет), условие будет вы-полнено, управление перейдет к следующей важной системной функции —СтатусВозврата о. Эта функция предназначена для использования тольков предопределенных процедурах. Если параметр функции задан нулевым, дей-ствие предопределенной процедуры отменяется, и программа продолжит работу,что нам и требуется в этом случае. Подробнее о функции СтатусВозврата ( )смотрите в документации или в синтакс-помощнике.

3.3. Заполнение документаметодом подбораВ предыдущем разделе мы рассмотрели возможность заполнения строк до-кумента с помощью формул, которые записаны в палитре свойств реквизи-тов. Стандартный метод автоматического заполнения документа — методподбора требует написания программ в модуле формы документа. Согласнодокументации, организовать подбор можно при помощи следующих систем-ных процедур:

ОткрытьПодбор();

Активизировать();

АктивизироватьСтроку();

а также предопределенной процедуры обработкаподбора ( ) .

В режиме конфигуратора откройте модуль формы документа и создайте но-вую процедуру (листинг 3.4).

Page 56: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

50 Глава 3

Процедура Подбор()

ОткрытьПодбор("Номенклатура","ФормаСписка");

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

Метод ОткрытьПодбор о в нашем случае имеет два параметра: имя справоч-ника, из которого делается подбор, и название экранной формы этого спра-вочника. Мы пока создали единственную экранную форму справочника —форму списка. Поэтому ее и указали в параметрах метода. Этот метод от-кроет выбранную экранную форму справочника.

Создадим следующую предопределенную процедуру:

нгЗ.5.—_ :_-„• .—-„ —.—„. ._—:

Процедура ОбработкаПодбора(Выб)

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

Здесь обратите внимание на важный момент. В параметр процедуры мы ста-вим произвольную переменную выб. Эту переменную в данном случае не тре-буется предварительно объявлять. Вызов этой предопределенной процедурыпроисходит в момент выбора товара из формы для подбора. В этот моментв переменную выб происходит подстановка выбранного товара. ПроцедураОбработкаПодбора ( ) позволяет производить самые разные действия с запол-нением табличной части документа. Сейчас мы организуем вызов другихпроцедур, позволяющих автоматизировать заполнение документа. Согласноправилу, описанному в разд. 3.2, поскольку новые процедуры будут инициа-лизироваться в ОбработкаПодбора ( ) , располагаться в модуле они должныранее этой процедуры. Вставим товар из переменной Выб и его количествов табличную часть документа, в колонки Товар и Количество (листинг 3.6).

Процедура ЗапросКоличестваВПодборе(Выб) //интерактивно выставляем количество

Если Выб.ПометкаУдаления()=1 Тогда //товар помечен на удаление

Предупреждение("Нельзя выбирать помеченные на удаление товары!");

Возврат; //прекращаем работу процедуры

КонецЕсли;

Page 57: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начала программирования в системе "1С:Предприятие" 57

Кол=1; //О&ьявипи переменную для ввода количества и присвоили ей значение "1"

Если ВвестиЧисло(Кол,"Введите количество",10,2)=1 Тогда

НоваяСтрока(); //добавляем строку в табличную часть

Товар=Выб; //Товар из Выб в добавленную строку

Количество=Кол;//Количество - туда же

КонецЕсли;

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

Сразу же вернемся к процедуре обработкаподбора ( ) (см. листинг 3.5) и за-пишем в ней вызов новой процедуры:

Процедура ОбработкаПодбора(Выб)

ЗапросКоличестваВПодборе(Выб);

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

Кое-какие конструкции вам уже знакомы, их назначения понятны и изкомментариев к процедуре. Обратите внимание, что русский синтаксис опе-раторов языка несет смысловую нагрузку, и назначение операторов частопонятно из их названия. У нас произошла передача параметра: из процедурыОбработкаПодбора() В процедуру ЗапросКоличестваВПодборе(). Мы ПОМ6СТИ-ли выбранный товар в переменную выб и передали его в этой переменной, дляпоследующей обработки, в процедуру ЗапросКоличестваВПодборе. Для этогопеременная Выб была установлена в качестве параметра обеих процедур ипри вызове процедуры ЗапросКоличестваВПодборе ( ) . Именно для резерви-рования места под возможные параметры мы и должны, согласно правиламязыка, в конце наименования процедуры или функции писать круглые скоб-ки. Условный оператор ЕСЛИ. .. тогда. . . КонецЕсли реализует защиту от вы-бора товара, помеченного на удаление. Процедура прекратит свою работус соответствующим предупреждением, и ошибки учета удастся избежать.

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

Для интерактивного ввода количества товара мы использовали системнуюфункцию ВвестиЧисло ( ) , ее описание посмотрите в синтзкс-помощникеили в документации. Эта функция организует диалог ввода для ввода с кла-виатуры какого-либо числового значения (рис. 3.6), в нашем случае — коли-чества товара.

Синтаксис функции прост: в параметрах через запятую указываем некуюпроизвольную переменную, в которую будет помещено то число, котороемы наберем на клавиатуре, подсказку — заголовок окна диалога, макси-

Page 58: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

52 Глава 3

мальную длину ЁВОДИМОГО числа и его точность. Согласно синтаксису этойфункции, мы записали следующее: в произвольную переменную кол поме-щается число с максимальной длиной целой части семь знаков, длинойдробной части — два знака. Один знак зарезервирован для разделителя це-лой и дробной части числа. Дали заголовок окну диалога (см. рис. 3.6).

Диалог ввода

. i в; т * % в ..' «9 : Я а с М

Рис. 3.6. Диалог ввода числа

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

Метод документа новаяСтрока ( ) добавляет новую строку в табличную частьдокумента. В эту строку затем вставляется наименование товара и его коли-чество, что понятно из комментариев к процедуре.

Товар и количество уже введены в документ. Теперь из справочника Но-менклатура внесем цену товара и ставку НДС товара (листинг 3.8).

Page 59: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начала программирования в системе "1С:Предприятие" 53

Процедура УстанЦеныПрих()

Цена=Товар.Себестоимость.Получить(ДатаДок); //Себестоимость товара изспр. Номенклатура — в документ

СтавкаНДС=Товар.СтавкаНДС.Получить(ДатаДок);//Ставку НДС из спр. Но-менклатура — в документ

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

Обратите внимание: реквизит документа Товар имеет тип значения Спра-вочник. Номенклатура. А в этом справочнике у нас есть и себестоимостьи ставка НДС. Смысл строк нашей процедуры — в реквизит документа Це-на помещается себестоимость товара, выбранного в справочнике Номенкла-тура с помощью процедуры обработкаПодбора о. Тоже и для ставки НДС.Процедуру УстанЦеныПрих также вызываем из процедуры ОбработкаПодбора ( ) .

Последняя процедура — организация заполнения вычисляемых реквизитовдокумента. Это Сумма и НДС (листинг 3.9).

Процедура Выч_суммы_накл()

Сумма=Цена * Количество;

НДС=Сумма/(СтавкаНДС+100)*СтавкаНДС;

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

Это стандартные арифметические выражения. Эту процедуру мы также вы-зываем из ОбработкаПодбора о (см. листинг 3.5), и ее окончательный видпредставлен в листинге 3.10.

Процедура ОбработкаПодбора(Выб) //Элемент спр. Номенклатура —, в переменную Выб

ЗапросКоличестваВПодборе(Выб); //передаем параметр

УстанЦеныПрих(); //вызов процедур обработки подбора

Выч суммы_накл();

АктивизироватьСтроку();

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

Метод подбора АктивизироватьСтроку о предназначен для установки курсо-ра в данном случае на текущей строке многострочной части документа.

Page 60: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

54 Глава 3

Перейдите в диалог экранной формы. Создайте в нижней части формы но-вую кнопку при помощи инструмента Кнопка панели инструментов Элемен-ты диалога или посредством меню Вставить | Кнопка.

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

ЗапросКоличестваВПодборе() УстанЦеныПрих() Выч_Суммы_Накл()

(^Журналдокумент.,. }|igПриходнаянакл.-

Для получения подсказки нажмите F1 I ;NUM :TA: 01.01,02 00:00:00 :БИ; 3 квартал 2004 г. ;ТП:

3 Z Microsoft,.. *j[<K2 !C:V7sta...- \j РисЗ,7-Ра1Ы | @CorePRAW I... | « К 17:06

Рис. 3.7. Документ Приходная накладная

Следующий документ нашей учебной конфигурации — Расходная наклад-ная. По составу реквизитов Расходная накладная совпадает с Приходной

Page 61: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начала программирования в системе "УС/Предприятие" 55

накладной. Поэтому мы можем скопировать документ приходной накладнойи вставить его в ветвь дерева метаданных Документы. Для выполнения этихопераций откройте окно метаданных в конфигураторе. Выделите нужныйобъект метаданных — документ ПрихНакл. Скопируйте его в буфер обменас помощью меню Действия | Запомнить либо посредством соответствующихкнопок на панели инструментов. Затем вставьте документ с помощью менюДействия | Вставить либо кнопок на панели инструментов. Новый документбудет вставлен под именем ПрихНакл!. Откройте окно редактированияэтого документа и задайте новый идентификатор: РасхНакл, синоним икомментарий документа — Расходная накладная. Журнал для хранения рас-ходных накладных в этот раз нужно создавать самостоятельно.

Закройте окно редактирования документа, перейдите в окно дерева мета-данных и щелкните по ветви журналов документов правой кнопкой мыши.В контекстном меню выберите пункт Конструктор журнала документов. За-полните идентификатор: РасхНакл; синоним и комментарий: Журнал расход-ных накладных. Нажмите кнопку Далее и выберите вид журнала Обычный.Нажмите кнопку Далее. Пользовательского меню у нас пока нет, поэтомупропустите это окно и нажмите кнопку Готово. Раскроется окно редактиро-вания журнала документов (рис. 3.8).

I] Файл Конфя-урация Консгру^еры йдмнннстрисоеа^м; Сервис Окна Помощь

С? В : I •".•: И ; Ш .'5. Я S» « ** Г~ ~~~3 Л

Идентификатор. [РасхНакп Синоним; |Жирна>

Г Общий

Г Дополнительна | Описание • Д:ормы >j

____'_ ____ j{jg Журим' .NUM СТАТУС: БД', ДДля получения подскажи нажмите F1 • ' .'. .. • ' • .• " .. • . ' . . ' . '•.

jinyotj jg & 0. ** '£} IO«raEffl j}»^ Конфигурато-Г -f£ 1С;|>едприятн... | Isjjj STnaea 3.- Micto... j И] 1C Г^адприяти... J|f РисЗ_5 - Part • J ДД; [g • ? j« 1?;39.

Рис. 3.8. Окно редактирования журнала документов

Page 62: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

56 Глава 3

Больше ничего в журнале документов нам пока делать не надо. Закройте этоокно. Откройте окно редактирования документа и в поле Журнал выберитежурнал РасхНакл.

Откройте форму документа Расходная накладная и соответствующим обра-зом исправьте название документа. Для этого щелкните правой кнопкоймыши по надписи Приходная накладная №, в контекстном меню выберитепункт Свойства и в палитре свойств в поле заголовка измените слово При-ходная на Расходная.

Благодаря вводу в работу нового документа в учете хозяйственной деятель-ности нашего предприятия произошли изменения. В частности, при оформ-лении отпуска товара документом Расходная накладная цену товара необ-ходимо указывать отпускную. В нашем справочнике Номенклатура отпуск-ная цена хранится в реквизите Цена. Поэтому в модуле формы документаРасходная накладная нужно сделать изменения. Процедуру Устанценыприх ()переименуем в УстанценыРасх ( ) , вместо реквизита справочника номенкла-туры Себестоимость используем реквизит Цена.Процедура. УстанценыРасх ( )будет выглядеть так, как в листинге 3.11.

Процедура УстанценыРасх()

Цена=Товар.Цена.Получить(ДатаДок) ; //Цену товара из спр. Номенклатура -в документ

СтавкаНДС=Товар.СтавкаНДС.Получить(ДатаДок);//Ставку НДС из спр.Номенклатура - в документ

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

Соответственно, в процедуре Обработкаподбора о исправьте вызов процеду-ры: теперь она вызывается как УстанценыРасх ( } вместо скопированного изПРИХОДНОЙ накладной ВЫЗОВа УстанЦеныПрих ( ) .

Закройте форму и окно редактирования документа, запустите "1С:Предприятие"в пользовательском режиме и проверьте работу документа.

3.4. Локальный контекст и доступностьпроцедур и функцийЕсли внимательно сравнить модули формы документов приходной и рас-ходной накладной, то убедимся, что различия невелики: в одном документеимеется процедура УстанЦеныПрих ( ) , а в другом — УстанценыРасх о . Соот-ветственно отличается процедура Обработкаподбора ( ) . Стоит ли в такомслучае переписывать или копировать одинаковые процедуры из документа

Page 63: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начала программирования в системе "1С:Предприятие" 57

в документ? Уже сейчас общая длина текста процедур в модуле формы до-кументов составляет 37 строк. Конфигурация будет усложняться, количествопроцедур и строк — расти. Чтобы быстро и правильно ориентироватьсяв модуле, стоит подумать о путях сокращения длины и количества процедур.Наконец, процедуры в модулях ветвей метаданных выполняются сравни-тельно медленно. А скорость выполнения, особенно для системы программ"1С:Предприятие", может иметь решающее значение. Ведь в реальном учетена предприятии может быть необходимым оперировать с сотнями тысячзаписей и десятками тысяч документов. И если оператор выписывает весьдень накладные, то от скорости их обработки напрямую зависит и оборотпредприятия. Представьте, что выписывается 1000 накладных в день, и накаждой из-за неправильного алгоритма теряется дополнительно 2 секундывремени. Значит, более получаса ушло впустую, а в пределах года это со-лидный убыток для предприятия.

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

Перенесем в глобальный модуль общие для созданных нами документовпроцедуры: ЗапросКоличестваВПодборе(Выб) , Выч_суммы_накл(). Для ЭТОГОвырежем их из модуля формы документов и вставим в глобальный модульмежду процедурами Приветствие() И ПриЗавершенииРаботыСистемыО. Те-перь необходимо, чтобы эти процедуры были доступны из других про-граммных модулей — в нашем примере — из модуля формы документов.Для этого после наименования процедуры и параметров пишется ключевоеслово экспорт (листинг 3.12).

Процедура ЗапросКоличестваВПодборе(Выб) Экспорт //интерактивно выставляемколичество

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

Процедура Выч_суммы_накл() Экспорт

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

Предупреждение

Ключевое слово Экспорт имеет смысл только в глобальном программноммодуле.

Page 64: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

58 Глава 3

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

Обратимся к модулю формы документа Приходная накладная. Укажем, чтоВ Процедуры глобального МОДУЛЯ ЗапросКоличестваВПодборе(Выб) Экспорти Выч_суммы_накл ( ) Экспорт необходимо передавать данные из локальногомодуля формы документа. Для этого в качестве фактического параметра привызове процедур и функций используется ключевое слово контекст. Этипроцедуры вызываются из предопределенной процедуры модуля формыобработкаПодбора (Выб). Добавим в вызовы процедур ключевое слово контекст:

| Листинг 3.13

Процедура ОбработкаПодбора(Выб) //Элемент спр. Номенклатура — в перемен-ную Выб

ЗапросКоличестваВПодборе(Выб, Контекст); //передаем параметр

УстанЦеныПрих();//вызов процедур обработки подбора

Выч_суммы_накл(Контекст);

АктивизироватьСтроку();

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

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

\ " —т-.„-—.—--—-—--:~.-———-- --?'—. - - •i Листинг 3.14

Процедура Выч_суммы_накл(Конт) Экспорт

Конт. Сумма=Конт. Цена'*Конт. Количество;

Конт.НДС=Конт.Сумма/(Конт.СтавкаНДС+100)* Конт.СтавкаНДС;

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

Page 65: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начала программирования в системе "1С:Предприятие" 59

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

IДоступностьI

Г1 Файл Действия Текст Конфигурация Конструкторы

//раздел процедур и функцийПроцедура приветствие()

ждений (привет);

Процедур* ЗапросКоличеслбаВПодборе(ЕыБ, Конт) ЭкспортЕсли Вы5.ПометкаЧдаленця()-1 Тогда //товар помечен

Прад упрежд emi* ( "Нельзя выбирать помеченные наВозврат; //прекращаем работу процедуры

КомецЕсли;Кол"! .: '"'Объявили перепвммдю для Ввода комичес!Если В&ескиЧхзслсЧКол, "Введите количество" , 10,;

Конт.НоваяСтрока(); // добавляем стрсКонт Товар

яВыБ, х/ТоЬар из Вы£

Конт . Количество^Кол: / 'Количество--

/ интерактивно &ысяиэ.& ляекна удалениеудаление товары!");

и присвоили ей йн-ачеТоада.

табличною часть

Процедуре-. Выч_саммы_накл ( Конт ) ЭкспортКонж Сцмма'Конт . Цена*Конт . Количество ;Коми .НДС-Кои1и.Суима-'(Конт СтабкаНДС 4-100 )*Кони. СтаВкаНДС:

едалекаэ.я процедура.Ирин Д чале Работы Системы ( )

5 -Кон4»1гураиия '. J _ig Документ r H^HaK.nJ ^Фечэна-Дсжумент.,.. ]| |Гяо6аяьныймод...

Для получения подсказки нажмите F1 'Л, 1 1

<yz !C:V7«ta

Рис. 3.9. Передача локального контекста программного модуля в качестве параметра

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

Процедура запросКоличествавподборе(Выб,конт) экспорт имеет операторы,относящиеся к локальному контексту, и операторы глобальной процедуры:

Процедура ЗапросКоличестваВПодборе(Выб, Конт) Экспорт //интерактивно вы-ставляем количество

Если Выб.ПометкаУдаления()=1 Тогда //товар помечен на удаление

Предупреждение("Нельзя выбирать помеченные на удаление товары!"};

Возврат; //прекращаем работу процедуры

Page 66: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

60 Глава 3

КонецЕсли;

Кол=1;//Объявили переменную для ввода количества и присвоили ей

значение "1"

Если ВвестиЧисло(Кол,"Введите количество",10,2)=1 Тогда

Конт.НоваяСтрока(); //добавляем строку в табличную часть

Конт.Товар=Выб; //Товар из Выб в добавленную строку

Конт.Количество=Кол; //Количество - туда же

КонецЕсли;

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

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

I ЛистингЗ.16uii-г, : . : „ J

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

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

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

П в параметры глобальной процедуры добавляется параметр для присваива-ния глобального контекста Конт;

О в параметры локальной процедуры добавляется ключевое слово контекст;

П обращение к реквизитам и методам локального контекста происходит"через точку" после идентификатора Конт.

3.5. Итоговые значения колонок документаДля повышения информативности документа было бы удобно иметь возмож-ность получения итогов по колонкам табличной части документа. В докумен-тах Приходная накладная и Расходная накладная итоги интересны по колон-кам Сумма и НДС. Конфигуратор "1C:Предприятие" позволяет получать итогипо колонкам без составления отдельных процедур на встроенном языке. Опе-раторы встроенного языка потребуются только для обработки итогов.

Для того чтобы автоматически получать итог по колонке, необходимо перейтив окно редактирования документа Приходная накладная. Затем выбрать рекви-зит табличной части (Сумма) и нажать кнопку Изменить. Откроется палитрасвойств реквизита (рис. 3.10). Перейдите на вкладку Дополнительные и устано-

Page 67: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Начала программирования в системе "ЮЛредприятие" 61

вите флажок Итог по колонке. Повторите то же самое для реквизита НДС. Ус-тановите итог по колонкам и в документе Расходная накладная.

Конфигурация Конструкторы Лдтвю-риумзаш* Сервис Окна Помощь

I в? И . £ •'& >Rf '«•JS.j '&i lSl a s <&f ™ ™ ! 3-&1 : % £ « ! <4S * О ! ' Б : й£ И j J!

Новый Изменить Уделить

: Периодичность;- [Пае:. Г? Автоматическая нумерация

; Г? Разрешить проведение документа

Р Автоматическое доаяение движений

!*• Автоматическая нумерация строк

.Соэпаюаггь oriepauwo; j

Вася."а' основании... |

*| *" Текст— | ... ........... Н

" Г? Контрог......... ••-

" ' •«- ..Г • )-Г" РасГ Oneuarv

Обшив Дополнительные' | ' ''•:.-• -.. • ' . -.'.'-.-

Разделять триады Г

Неотрицэгельньй Г"

Итог по колонке J?

щок |

Обшить]

ЛЗ |Йписание | £с )мо J^M^nbjoKijMeHTaJ

|j;i] Доиунёнт ПрняНв***

Для попучения подскажи нажмите F 1 ;';;; ' ; : - . - ' - .'•. ';.; • ; " " - ' '. . . I iNUM ОАТУС:6Д, Документ

f Конфигурато» ^1£|| адгуи^ Щ^ а^М^ ^РисЗ_а-Paint ^J Щ^ Ш1 * Iй 17и

Рис. 3.10. Установка флажка Итог по колонке

В экранной форме документов под табличной частью добавьте элемент диа-лога Текст (с помощью панели инструментов или меню). В палитре свойствтекста очистите заголовок. Идентификатор нам тоже не нужен. Щелкнитена вкладке Дополнительные и в поле формул напишите:

Итог ("Сумма")

Создайте рядом еще один элемент диалога Текст и запишите в нем формулу:

Итог("НДС")

3 Зак. 585

Page 68: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

62 Глава 3

Расположите оба элемента в форме так, чтобы они были удобны для вос-приятия. Запустите "1C:Предприятие" в пользовательском режиме, создайтедокументы Приходная накладная и Расходная накладная с произвольнымизначениями. Итоговые значения колонок будут автоматически посчитаныи выведены в экранной форме документа (рис. 3.11).

jl] Файл Действия Операции Справочники Документы Журнапы Отчеты Сервис Окна Помощь • т IffLS,

8nj^-m и; . '. Ml jfi1 ft

t% t -*..;?; ^.a V. . : . • ' . ' • : ' . . . • ' ' ' . ' ; _£v. • '

(Исходная накладная № [ 2 от |2зжо4 ]jg|

Поставщик: (ПекгГввшик ЧгГ Q Цена вклкэчав-Г НДС! . :

НО

!

I

Т ODOD ' ' • : " 'Телевизор "Samsung"Холодильник.

Итого 23000

Итого НДС 31/г41

. | .Закрьп-ь j ..Падбор | Печать j

Sintwi20000.00

3000.00

Количество1.001.00

£<|мма - - ."-- - : -' " -20000.00

300000

Ставки НДС16.0016.00

НДС .•-!•

2758 62 J41379 г

. i

^Журнал документов Жур-^J [*] Расноднля ивк |адная _ • .

Д л я получения подскажи нажмите П . - . • - . ' • . • . • ' .NUM :ТА: 01.01,02

#>Пуск| 0 jjft j ** с*КлаввЗ. i ^33-WaosoftWofd j Й])5ГламЗ -Microsoft ... j iff, Ком

"о6:00:00" §БЙ:Уквартлл 2004г Г "- • . .ТГТ; ". •

Ьигуратор - Ьи-,: }|^£ 1СЯредприятие>.~ ЯЯ ©•?;« 12:29

Итоги по колонкам "Сумма" и "НДС"

Рис. 3.11. Итоги по колонкам Сумма и НДС в экранной форме документа

Page 69: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Глава 4

Вывод на печать

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

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

О организацию выборки и обработку записей;

О отображение информации каждой записи в отчете.

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

Page 70: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

64 Глава 4

к системной функции СоздатьОбъектО и присвоить возвращаемое ей зна-чение некоторой переменной:

об=СоздатьОбъект("ИмяТипаАгрегатногоОбъекта") ;

Объект существует в оперативной памяти до тех пор, пока на него есть хотябы одна ссылка. Как только переменная, содержащая ссылку, исчезнет, сис-тема сама автоматически удалит объект из оперативной памяти. Если покаким-либо причинам объект не нужен, то удалить его можно следующимобразом:

об=0;

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

^ Примечание

Атрибуты описывают количественные или качественные характеристики объек-та. Например, при обращении к справочнику Код и Наименование будут его ат-рибутами.

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

Вначале выборку нужно объявить:

об.ВыбратьЧто-то (...) ;

Метод возвращает 1, если в выборке есть хотя бы одна запись: Затем в цик-ле осуществляется вызов метода, который извлекает из выборки очереднуюзапись и позиционирует на ней объект:

об.ПолучитьЧто-то (...);

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

Если Об.ВыбратьЧто-то (...) =1 Тогда

Пока Об. Об.ПолучитьЧто-то (...) =1 Цикл

//объект позиционирован

КонецЦикла;

Page 71: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вывод на печать 65

Э Файл Действия Операции Справочники Документы Журналы Отчеты Сервис Окна Помощь . . '..Jftf X_

!Sifr'а и &£

Jt Ща а : Щ -; : Ш s .е Ml d и1 ft ; f ! .

i 4t ч -;» a v

A- -•• ' "

К<М "ГГГ!!!Гооо

*|Спр*воч№<*; Контраген~.

Для получений подскажи нажните F1

n»- « a. .»*»»».»»

i ' ':" 'NUM ТА: О

|fcj]Y£^j Se^ <Й» & ** О *СУ**!Н j -Af Конфигуратор... ]|^£ ШПредприяг... 8р5ГпаваЗ-

tff" I • - • • • • • • • • • — _

.01 .02" 00:00:00' " ' БИ: г'лввртал 20W r,

%cro...j. В] 1СПрвдприяти.., | У РисЭ_10 - Paint

"Г"""?""!!""* jjj

Ш

• -к

. '.т

.' . •'iij

Рис. 4.1. Выделенная строка (позиционирование) справочника

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

О для построения отчета;

П для организации ввода информации.

В этой книге мы рассмотрим с вами первый режим.

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

Page 72: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

66 Глава 4

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

ff Файл Действия Конфигурация Конструкторы Администрирование Сервис Окна По нощь

"ев .

"*Pgn

[ (8 Иягуиаяи | ,?'.Прае«

едвктиромть Обшив твб/ииы задачи { WM ОАТУС: БД , Документ

j B]6rna»ai-ftfcro.^.[ |f Pnc*J-Paint j Щ Qi f j« 18:01

Рис. 4.2. Открытие окна общих таблиц

Посмотрим шаблон печатной формы, принадлежащий локальному контек-сту, например, справочнику Номенклатура. Для этого откроем в конфигура-торе форму списка справочника и щелкнем по вкладке Таблица. В результа-те будет открыто окно табличного редактора. Визуально объект Таблицапохож на электронную таблицу Microsoft Excel (рис. 4.3). Те же строки, ко-лонки, строка формул и окно именования ячеек.

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

Page 73: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вывод на печать 67

Q Файл Действия Таблице Вид Конфигурация Конструкторы Администрирование Сервис Окна Помощь

с*и * *'в|'в'РТЧЬЗГЫЛ! • ©i

•I*••>•• I » " Ч 1' , l U I it I « I

_

~

Текст | Положение | Шрифт Рамка] Узор S

ip9»|Aen> J^

I . 1Расшифровка j

P Зашита ."• . .. ' ; - " : ' : '

OK j

Отмжа j

Обновить |

IP Д«от " ........ , "Ij Mii» . "' у~«Цйй'«»; ""). £j ТЫ1я«м

.V.a • 63 *, IB : ' f t ,.Щ'; t 3 ? jiai'ir Ё ! Su ff- ;

Для получ«»иид подскажи нажмите Ft

Щ 0 * ._ ^

.

'

I:БД.Документ* .

I (3! ?' «-.№03

Рис. 4.3. Шаблон печатной формы справочника

с Замечание

В практической работе можно копировать таблицу с данными в буфер обменаи затем вставлять ее в MS Excel. Есть и специальные программы — конверто-ры, передающие таблицы "1С:Предприятие" в MS Excel. Их преимущество,по сравнению с простым копированием, — грамотное форматирование пере-даваемых данных. Существуют и обратные конверторы — из MS Excelв "1С:Предприятие". Однако такие конверторы переносят только форму таблиц,без данных.

Элементарным элементом шаблона печатной формы является ячейка. Ячей-ка в шаблоне печатной формы имеет свою палитру свойств, которую можновызвать стандартным способом — щелкнув по ячейке правой кнопкой мы-ши и выбрав из появившегося меню пункт Свойства (рис. 4.3). Рассмотримнекоторые свойства ячейки.

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

Page 74: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

68 Глава 4

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

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

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

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

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

Вкладки Положение, Шрифт, Рамка, Узор служат для оформления отчета.

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

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

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

Начнем создание шапки нашего будущего отчета — заголовочной части. По-смотрим, где примерно должен располагаться заголовок, и впишем в ячейку

Page 75: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

вывод на печать 69

название отчета: Каталог товаров (рис. 4.4). На следующей строке напишемназвания столбцов отчета — реквизитов справочника: Наименование, Типноменклатуры, Тип товара и остальных. Текст в ячейку можно вносить и безпалитры свойств, просто щелкните мышью на нужной ячейке и вводите.Если тип Текст, то этим можно и ограничиться, но если введенное значениеимеет тип Выражение, Шаблон или Фиксированный шаблон, то эти типынеобходимо устанавливать в окне Свойства ячейки.

? J Конфигуратор - Базовые объекты - (Форма-Гправочник-Номенклатура.ФормаГлигка.ФормаСписка]

§ Файл Действия Таблица Вид Конфигурация Конструкторы Администрирование Сервис Окна Помощь' - Iff) X

j:ti о* з . х ча is ; я ® , ш э е м| 3 к '& ,\ f ||в£.;%£ :«;*й» е i 7 . • :

:: "Е !йе'.|!1^^шчач^^!^?2СЗ •»• -И ' 5Е1. Катэлогтоеаров

JJewe

Строка

ill .К а

зг^Конфиг

12

4Sе7

•• • •9

10

1Z1)14151C1?1»

20

1 2 |. 3 | 4 5

| Катало} товаровТип (Тип J • Ц

Текст Положение Шрифт ]Рймка } Уэор |

<пр.Наименование> I -:>TWJTcKcr j KV^p"№JAoro

;- ;• • Каталог товаров

- • Расшифровка .[

Р Защкга

Добавить таблицу

. Удалить таблицу

ЯНЦ ЩЦР ^ Н НИ Н ВЕг ' >-%Х~ , -'яплтъ,™ • |:Г- ми --•А"-*!

Перемести- ь/Копировать

грация I ' Справочник Номен...|| Фррма--Справочн... :

Создать новый элемент : : •*•• -4:.

*пуск| $Ц ^_> ** ОКнигаБХВ | Z Microsoft ... '] |4£z' I C:V7 sta... - ^РисЗ^1-

1 6 ЕЩ7 . в :Г в -

; :' i I '.'•"i... . . i.. ..... 1 *

• - - ' • • i i __..">Ф I ~^ iп .1 ' • ' . *СЛолучить(Рабс

_d ..g ' 1 ; "Отмена 1 : • • .

Обновить! :

|. — — - L - — 4-— ~ | ^

, „ 1 ; 4d

',P~(NUM СТАТУС: БД .Документ

Paint . | Q! CorelDRAW 10 • JJj .] « К 17:45

Меню для переименования шаблонапечатной формы

Рис. 4.4. Переименование шаблона печатной формы

Теперь нужно выделить строки с заголовком для создания секции докумен-та. Для этого щелкните левой кнопкой мыши по номеру строки и протянитеуказатель мыши вниз до строки конца заголовочной части. В меню Таблицавыберите пункт Включить в секцию и в диалоге ввода задайте имя секции:Шапка (рис. 4.5).

Для лучшей читаемости шаблона печатной формы пропустим одну строкушаблона таблицы, а следующую выделим и создадим секцию Строка. В этойсекции будут выводиться непосредственно строки справочника.

Page 76: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

70 Глава 4

..

OS* У * Ч»в;вв'Ш'г< ь *»Г~ ~~3«ЙТ?|

«г' % г. 'и! * » е ! с ! и е i

„Jjlx

jHHItar онОтмена

"А.1V Saw """".""."/. ИИ**"*! :._/

r\ а в и & Ы : Ь ,-й ; С I S> . , ' ' " '

юпучения подсказ

к Нояен<яетура |[ *ормд-Спраиоэд>«<Ло-.

J Гспшйрипц... I

C: БД; Д(КуивнТ •

; G3;? i« 10:04

Рис. 4.5. Секция

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

Щелкните по вкладке Модуль экранной формы справочника. В модулеформы создайте процедуру печати:Процедура Печать()

Спр=СоздатьОбъект("Справочник.Номенклатура"); //Создана переменная дляссылки на объект Справочник Номенклатура

Если Спр.ВыбратьЭлементы()=1 Тогда //справочник позиционирован

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

КонецЦикла;

КонецЕсли;

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

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

Page 77: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вывод на печать 71

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

^^ Примечание

Обращение к объекту посредством создания переменной с произвольным име-нем позволяет использовать в одном модуле несколько однотипных объектов.

Подробнее разберем фрагмент процедуры.

С помощью конструкции

Если Спр.ВыбратьЭлементы()=1 Тогда

КонецЕсли;

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

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

КонецЦикла;

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

Так как Таблица — служебный объект метаданных, для работы с ней извстроенного языка мы должны создать соответствующую объектную пере-менную, как ранее ДЛЯ объекта Справочник. Номенклатура.

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

Опишем действия, которые производятся с переменной таб.

Таб.ИсходнаяТаблица("Каталог");

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

Таб.ВывестиСекцию("Шапка");

Эта строка выполняет включение в печатную форму подготовленной намисекции. Первой выводится секция Шапка с заголовком отчета. Вывод сек-ции Строка обсудим чуть позже.

Закончить работу с переменной таб необходимо следующим набором строк:

Таб.ТолькоПросмотр(1);

Таб.Опции(О,О,0,0);

Таб.Показать("Каталог товаров");

Метод толькоПросмотр(1) определяет, что печатная форма будет использоватьсятолько для просмотра и печати, а не для редактирования. Метод Опции ( . . . )

Page 78: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

72 _ Глава 4

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

Теперь добавим операторы, формирующие печатную форму документаВ Процедуру Печать ( ) :

Процедура Печать ( )

Спр=Создать Объект ("Справочник. Номенклатура" ); //Создана переменная дляссылки на объект Справочник Номенклатура

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

Таб . ИсходнаяТаблица ( "Каталог" ) ;

Таб . ВывестиСекцию ( "Шапка" ) ;

Если Спр. Выбрать Элементы () =1 Тогда //справочник позиционирован

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

КонецЦикла ;

КонецЕсли;

Таб . ТолькоПросмотр ( 1 ) ;

Таб.0пции(0,0,0,0) ;

Таб . Показать ( "Каталог товаров " ) ;

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

В процедуре не хватает только одной части — вывода записей справочникапострочно. Перейдем в шаблон печатной формы. Ниже секции Шапка созда-дим новую секцию: Строка. В ячейках этой секции напишем выражения (т. е.вычисляемые значения). Для вывода наименования товара запишем выраже-ние Спр . Наименование, ДЛЯ ВЫВОДа ТИПЗ номенклатуры — Спр . ТипНоменклатуры

и т. д. Подобная запись указывает системе, какие данные подставлять в вы-ражение — в данном случае из объекта, который описывает переменная Спр.Обратите внимание на запись выражения с использованием периодическихреквизитов: Себестоимость, Цена, СтавкаНДС. Эти выражения должны за-писываться так: Спр. Себестоимость. Получить (РабочаяДата ( ) ) . Периодич-ность подразумевает наличие истории значений (см. разд. 2.2). Следователь-но, системе необходимо указать, какую дату нужно выбрать.

В секции Строка за один раз отображается только одна запись справочника.Поэтому в процедуре Печать ( ) вызов секции мы помещаем в цикл, деист-

Page 79: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вывод на печать 73

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

Листинг 4.2

Процедура Печать()

Спр=СоздатьОбъект("Справочник.Номенклатура"); //Создана переменная дляссылки на объект Справочник Номенклатура

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

Таб.ИсходнаяТаблица("Каталог");

Таб.ВывестиСекцию("Шапка");

Если Спр.ВыбратьЭлементы()=1 Тогда //справочник позиционирован

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

Таб.ВывестиСекцию("Строка");

КонецЦикла;

КонецЕсли;

Таб.Толь коПросмотр(1) ;

Таб.Опции(О,О,0,0);•

Таб.Показать("Каталог товаров");

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

С помощью палитры свойств ячейки в шаблоне печатной формы нужносделать отчет более удобным и читаемым. Для этого нужно выполнить сле-дующие действия:

П подогнать ширину колонок (это можно сделать, перетащив мышью раз-делитель между колонками таблицы в верхнем заголовке — сером полес номерами колонок);

П обвести рамкой ячейки;

П установить положение текста в ячейках;

П установить размер и вид шрифта.

Печатная форма закончена (рис. 4.6).

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

Организовать вызов созданной процедуры можно с помощью кнопки, рас-положенной на экранной форме справочника. В режиме конфигураторанужно в форме списка справочника Номенклатура перейти на вкладку Диалог.Щелкнуть левой кнопкой мыши по краю диалоговой формы. Появится гра-

Page 80: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

74 Глава 4

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

Теперь обратимся к палитре свойств созданной кнопки.

Щелкнем по прямоугольнику дважды левой кнопкой мыши, либо правойкнопкой вызовем контекстное меню и выберем пункт Свойства. На вкладкеОбщие нужно изменить заголовок по умолчанию (Новый!) на Печать. Этозаголовок кнопки. Пользователю будет понятно, для чего эта кнопка пред-назначена. Чтобы определить действия, необходимо переключиться навкладку Дополнительные. Поле Формула нам уже знакомо. В этом поленужно написать вызов процедуры печать () (рис. 4.8).

б Файл Действия Таблица Вид Конфигурация Конструкторы Адпиниарирсимние

.' 1 *^Q--i04:{;;йй;

d«;

Cspent Ыкг Пита,' • /ijJfijS

Itlli#* ф .ч ,;< i

R1C1 ч-f-tS . SS |

Uenti»

Ic ]

• :

«ь!„1.

12

_»_-1S-

17

Л»_« .

2112232426а_»2»

. . . . . . ч

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

-££ --•- --

•i \ а ш в & И : t» ; ;.-; : t :

.:.'„. 2

I»номежлвтуры

.Cni'USiSi

[Шй

. -3 . j . 4 " ' ' • 9 ," « . - ?• | l l l 1 u • 1 11 Г « [ -

Каталог товаров

т£.р*_ Ь'ИЗМ

'!" '

;

i

yi'to"1?1 -~J'

Севестонм u». СТ.ЦДС

<С .Себёс|<С "Цв«'г[«Спр'став'|(]

mi

i i ' ::^

1НДС.ГЬлуч ть в(Йч*яЛ"т«ф» j i . 4:

1 i ; ' : '"'-Jl

1 : ' ^ : i • :fe'"" • i ; I

i r . ,. ;:_...;... : ...' . .

• •

^Конфигурация * J ^CnpaecwwiK Номенклатура jjf Oopm СпрмгочшеьНо— . -. .

пя подучен™» подскажи нв*мите Flj» 1 л . " *"ь Л •' ' " 1Г

>л ™ • >ЮчигаБХВ . 1! * №Г * ,'iST,...»i — ,..-,„._, ^_J'

[" ":NUM СТАТУС 64, Лясумемт*

rtf Коифигур*то_. u £ !| ™l!! J ^ J Ш O');f -" ie'06

Рис. 4.6. Готовый шаблон печатной формы

Page 81: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вывод на печать 75

\1аиатжш1шшишшлаилах1аааалаашташ[ Файл Действия Диалог Вставить Конфигурация Конструкторы Администрирование Сервис Окна Помощь

ISO э « «ГЕ" & .

Э :

''''• . *?.?°г /]у_Мадуль • ' д Щ^еталог ' ^Таблица!

^ HJ , l\L,n- .J| .j? "Р3?04 .. !Г5Й:.:,:.| Р \ °Р»Д1-Спрадрчн.Г

Для получения под:

г Microsoft. .. - r f £ 2 iC:V7sta

JNU «1 J358 х 193 р, О [СТАТУС; БД, Докунвнт

^icO-Paint | Йр CorelDRAW 10 I ffl|«K 17:53

Маркер Кнопка

Рис. 4.7. Создание кнопки в экранной форме

Свойства Кнопки

Общие I ДополнительноI Команда) Картинка] Описание]

Заголовок: .,; [Печать

Идентификатор: I

Г" Сделать недоступнымГ" Сделать невидимым

OK

Отмена

Обновить :

Рис. 4.8. Вызов процедуры из палитры свойств кнопки

с Замечание

Хороший стиль написания кода — строки пишутся одна под другой. Клавишей<ТаЬ> делаются отступы для строк, находящихся внутри процедур и внутрициклов. Это делает текст модуля более наглядным. Чтобы соответствующим

Page 82: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

76 Глава 4

образом отформатировать модуль, можно выбрать из меню Действия пунктВыделить все, затем зайти в меню Текст | Блок | Форматировать. Все стро-ки модуля будут выровнены в соответствии со стандартом.

Теперь проверьте работу своей программы в пользовательском режиме. Есливсе верно, то при нажатии кнопки Печать на экран будет выведен готовыйк распечатке табличный отчет по справочнику номенклатуры — Каталог то-варов (рис. 4.9).

Файл' Действия Таблица Вид Операции Сг#зв(мники Документы Журналы Отчеты Сервис Окна Понощь

с* у ,. 4 «,: а «г- о » в мП" ~3 к « : ? Т •<•• •© i ' ' -—— ' -« * №

Л &

ТА: 01.01.02 00:00:00 «И: 2 кмртал2001г. ;ТП:

Рис. 4.9. Отчет Каталог товаров

4.4. Печатные формы документовПечатные формы документов создаются аналогично печатным формамсправочников, хотя есть и определенные отличия.

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

Page 83: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вывод на печать 77

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

П Шапка — для вывода в печатную форму заголовочной части документа;

П Строка — для вывода многострочной части документа (если таковая име-ется);

П Подвал — для вывода итоговой части документа (если таковая имеется).

Как правило, секция Шапка существует всегда, остальные две — по необхо-димости.

В ячейке секции Шапка напишем заголовок документа, его номер и датусоздания, используя тип текста Шаблон (рис. 4.10).

jQ Файл Действия Таблица Вид Конфигурация Конструкторы Администрирование Сервис Окна Помощь

Гв*и':~*'*г «]•«.»©

ЗУ]Прмходи«я накладная К» [НоморДок ] от 1Дат«Док 1

<Приходная накладная № [НомерДок ] от [ДатаДок ]>j

его

) от ЩагаДок. ) jj

. . . . ...,.,,....., .4• (Ж. j

Отивна |

Обновить]

Рис. 4.10. Наименование документа имеет тип текста Шаблон

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

Page 84: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

78 Глава 4

Пропустим строку в секции Шапка и заполним названия колонок для мно-гострочной части документа. Тип текста — Текст.

^ Примечание

Для того чтобы вставить новую строку, нужно щелчком мыши выделить строку,выше которой предполагается вставка, и выбрать команды меню Действия |Раздвинуть.

В секцию Строка помещаются значения из многострочной части документа.В отличие от справочника при работе с документом не требуется созданиеобъектной переменной, поэтому просто вставим названия реквизитов. Типтекста — Выражение.

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

9 ФАЙЛ Действия Таблица Вид Конфигурация Конструкторы Администрирование Сервис Окна Помощь ; . . '.aJ jj*

^Е? '•• 1 «С» Л ! *%3 & © • '• Б 1 £ И ' ';iK Jl fil* ib- ЬИ- ii'* .' i df & £^ % •'•'•'*• Р : Л i • • •

'2C2 т {я. Я Приходная накладная № [НомерДок ] от (ДатаДок )

Палка .

Игроке

Тздвал

1

23

4

...A....E

7

J9

1011

14151617

1 —19

.(

202122g2 4 ,25n

~ J~

ЦоГ

i ! .: • ' r J : .. A''" J Г .„« '., |Щ£Г : l , - • Г 7 u

1 <Прихо,цная накладная № [НомерДок ] от [ДатаДок ]>

I 1 1 1 1Стэекэ1№| Товар_ .. __ |. Цена ]Коли.мвства| Сумма J.HflCj НДС

<H»J«Toeap> 1*4»»*- 1«Коиичвствс1«С)гммв» |«Стввкв|«НДС»

< Сумма (Итог("Суима1 ]><8 том число НДС [Н10гГПДС'71>

'Отпустил Получил1 :

•: 1 » 1 1 » I 11 1 12 1 13 .

i • . 1

: В

' """ ~"~~ "" -;• .'

F 1 У

• ••/ f • •• -• г ; ; з; • '• i ............ ]|

; ! J: . - -

.

'-•

; ........ . . . . . . . . - _ j .. . . j : , ... |

'-.,. ,..,..,,,,,... ; ,,,,,,,. :, ,..,...,.. . ; ,;._.,:., ,,;,:;,,.,,.,, . ,LJ Диалог / _j Модуль / А]Тайпмца' / • • . • . ' . : • • • • •

AaEia&tt i t i^EH.-C 3I1 1;ш'И":сз i^UfP -'г Конфигурацид - | - ДокументПрихНакл . j |§ «сфм^Докумкнт Лрик.Г • . . .. : - ' .'• ;•: ' . .:".

ляпопученияподсказкинажнигеР! . ." : ' . ' • • • . ' - ; • ' . - . i fjijM cwyii: БД , д'окуивнт

С-ПУСК] 0- $ И1 ** 1_# Paht Shop Рта | Ш}1СПредпр.., | ^6Гпава4--.. jf й£ Конфигура... « .1С:Првдпр.'„ } |g Paint 5hbpP,..( '^ РиС4^10-Р... j Qj^ JJ) ! f ;-« :J 9:10

Рис. 4.11. Шаблон печатной формы документа Приходная накладная

Page 85: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вывод на печать _ 79_

Обратите внимание на синтаксис операторов для работы с итогами по ко-лонкам. Для того чтобы получить итог по колонке (признак итогов долженбыть предварительно установлен для реквизита, как указано в разд. 3.5),необходимо написать оператор итог, а далее, в скобках и кавычках — на-именование колонки:Итог ("Сумма") ;

Ячейки секции Подвал, содержащие итоги, имеют тип текста Шаблон, таккак содержат и текст, и выражение.

Теперь можно отредактировать шаблон печатной формы и подобрать шрифты.

Процедуру для вывода документа в печатную форму мы напишем в модулеформы документа:

Процедура Печать ( )

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

Таб . ИсходнаяТаблица ( "Таблица " ) ;

Таб. ВывестиСекцию ( "Шапка") ;

Если ВыбратьСтроки()=1 Тогда //многострочная часть позиционирована

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

Таб. ВывестиСекцию ("Строка") ;

КонецЦикла ;

КонецЕсли;

Таб. ВывестиСекцию ("Подвал") ;

Таб . ТолькоПросмотр ( 1 ) ;

Таб. Опции (О, О, 0,0) ;

Таб. Показать ("Приходная накладная") ;

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

Все строки процедуры, относящиеся к шаблону печатной формы, идентич-ны строкам процедуры печати справочников. Появилась новая строка длявывода секции Подвал. Нет объектных переменных для документа — они ненужны. И отличаются операторы выборки: вместо выбрать Элементы о —Выбрать Строки ( ) , ВМССТО Получить Элемент ( ) — Получить Строку ( ) .

Кнопка Печать на экранную форму документа выставляется так же, как ина экранную форму справочника.

Примечани Д

Правила работы с кнопками одинаковы для всех экранных форм"1С:Предприятие".

Page 86: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

80 Глава 4

А] Файл Действия Таблица вид Операции Справочники Документы Журналы Отчеты Сервис Окна По«ощь

s с М| ~ 3 * ? )% i.f 1

Приходная накладная № 3 от 11.02.03

ТоварТелевизор "Samsung"

2 [Телевизор "Samsung"

Ставка

Цена [Количеств] Сумчз НДС НДС

Сунна 200008 юм числе НДС 2751.62

«подскажи нажмите F=l = NUM !ТА:' 01.01.02 00:00:"СЮ «И: 2 кв'артал"г6(М г'.

.^J^.:!^^ Ш^-^-^d j$ ..fiyyi:.1 :

Рис, 4.12. Печатная форма документа Приходная накладная

Конструктор печати документа: Шапка

. Реквизиты используемые в шапке документа

Х| ХВсе| :

ДагаДок

НомерДатаПоставщикИтог("Цена")Итог("Количество")Итог("Сумма")Итог("СтавкаНДС")Итог("НДС")

Далее> Отмена Помощь

Рис. 4.13. Диалговое окно конструктора печати документа

Page 87: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вывод на печать 81

Запустив "Ю.Предприятие" в пользовательском режиме, проверим сделан-ную нами работу (рис. 4.12).

Теперь автоматизируем процесс создания процедуры печати с помощьюконструктора печати.

В режиме конфигуратора откройте форму документа Расходная накладная.Находясь в модуле формы документа, выберите пункт меню Конструкторы |Печать. Появится поле ввода с именем готовящейся процедуры, по умолча-нию — Печать. Нажмите кнопку ОК, и появится первое окно диалоговойформы конструктора печати — Шапка (рис. 4.13). В правой части окна рек-визиты шапки документа, в левой — те реквизиты, которые мы будем вклю-чать в шаблон печатной формы. Перенос реквизитов из правой части в ле-вую осуществляется при помощи стрелок. По умолчанию в левой частиокна уже есть обязательные реквизиты НомерДок и ДатаДок. Нам нужноперенести реквизит Поставщик. Нажмите кнопку Далее и перенесите всереквизиты табличной части документа из правой части диалога в левуюпри помощи стрелки с фигурной скобкой. Нажмите кнопку Далее и перемес-тите в левую часть диалога реквизиты, которые будут помещены в подвалшаблона печатной формы документа: Итог(Сумма) и Итог(НДС). Нажмитекнопку Далее, выставьте опции диалога, как указано на рис. 4.14, и нажмитекнопку Готово.

Конструктор печати документа: Дополнительные

г Вызов процедуры -

С; Не вставлять'

{• Новая кнопка ]печать1

Г" Выбрать кнопку ]

F? Режим "только просмотр"

•Г" Защита таблицы

Г" Печатать без предварительного просмотра

<Назад J Готово^ Отмена | Помощь [

Рис. 4.14. Установка параметров печати и кнопок

Page 88: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

82 Глава 4

Г А] Файл Действия Твбяиив. Вид Отирании . Сгбаммннки Документы Жуснвяы' Отчеты Сервис С'гна Поношу

ijtiasyi s <&*чавнй J> е'*1 3« *!: t ;

{Расходная накладнаянс«вр 2Дата 23 05 04Пссгаенрс: поставь* 41

.Т»"Р Цена Кппичеиао Стан» Стати НДС НДС

• '• : 1 # ™tt-c.]:5ui:;; :.

гвлуч«««>ло*а4азкн>ишмитвРГ ' ,fjuM ТА: 01 CI.02 00:СС:00 Ш Z кино™ 2ОЛ г, .':ТП:.'

^Пуск] ^g (,%' " i f""'t 5 tp PfP j Bj 1С ftcmr— I ftjernaeal '..,'[ tf£K»4rvyl&l.. \^J£ 1СПжл<у~ Paint'Shop Pi-,'| Рис« М -P,.i ( BBi

Рис. 4.15. Печатная форма документа Расходная накладная

Ддч-1 с1р-|ровл»и Сереж окна Поиоиь

J i*H :

о." »,Г.

. Ш » с »>Г~Г

:с еедиЯЯЯВЯИДМЯ|Ю||1'' -'й|х1

Расход! l.'

в»,—(5

ИтогчНДС «ИтогГНДС

Shop Pro J gjtcripeyp^ J^jfTna

iNUH ;згЬ"« 22в~ - 0,0

' 'Ш;? -!

Рис. 4.16. Итоги по колонке в экранной форме документа (режим конфигуратора)

Page 89: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вывод на печать S3

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

Итоги по колонкам можно добавить в экранную форму документа. В ниж-ней части экранной формы необходимо вставить элемент диалога Текст,в свойствах текста во вкладке Дополнительно в поле формул вписать(рис. 4.16):Итог("Сумма");

4.5. Печатные формыкак отдельные файлыДо сих пор мы рассматривали создание печатных форм справочников и до-кументов с использованием шаблонов в составе конфигурации. Это означа-ет, что любые изменения, которые необходимо вносить в такой шаблон,требуют работы в режиме конфигуратора. Существуют ситуации, когдаудобнее редактировать шаблон, не трогая конфигурацию. Например, те от-четные формы, которые достаточно часто изменяются, в соответствии с из-менением законодательства. Или в случаях, когда пользователь сам вноситчасто изменяющиеся данные — рекламный текст на счете-извещении обоплате за услуги.

Для того чтобы создать отдельный файл печатной формы, в режиме конфи-гуратора войдите в меню Файл и выберите пункт Новый. В появившемсядиалоговом окне выберите пункт Таблица (рис. 4.17) и нажмите кнопку ОК.

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

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

Создайте в каталоге учебной базы папку Table и сохраните внешнюю табли-цу в этой папке с помощью меню Файл | Сохранить. При сохранении дайтеимя внешней таблице ПрихНакл.тх!.

Page 90: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

84 Глава 4

|Qq4:-p'KfMoftWofd | j g Конфигуратор - Баз

Рис. 4.17. Диалоговое окно для выбора вида внешнего файла

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

Процедура Печать()

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

//Таб.ИсходнаяТаблица("Таблица");

Таб.ИсходнаяТаблица ("ТаЫеХПрихНакл.mxl") ;

Таб.ВывестиСекцию("Шапка");

Если ВыбратьСтроки 0=1 Тогда //справочник позиционирован

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

Таб.ВывестиСекцию("Строка");

КонецЦикла;•' ,

КонецЕсли;

Таб.ВывестиСекцию("Подвал") ;

Page 91: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Вывод на печать • 85

Таб.ТолькоПросмотр(1);

Таб.Опции(0,0,0,0) ;

Таб.Показать("Приходная накладная");

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

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

Предупреждение

Название внешней таблицы обязательно указывать с расширением mxl.

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

Page 92: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих
Page 93: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Глава 5

Другие базовые объекты

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

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

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

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

В конфигураторе выберем ветвь метаданных Перечисление и создадим новоеперечисление. В окне редактирования введем идентификатор — Резидент,синоним — Резидент, комментарий — Признак резидента. Нажмите кнопкуНовый для ввода значений перечисления (рис. 5.1).

Заполните поле идентификатора — Резидент и поле представления — Рези-дент. Обратите внимание: в поле Представление вводится значение в томвиде, в котором его будет видеть пользователь. В данном случае идентифи-катор и представление значения перечисления совпадают.

Page 94: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

88 Глава 5

У файл Конфнгусчацкя Конструкторы Аднииистрироегние Сервис Окна Помощь

с* В • ;-- *" iilfift' Д:з г Л| 3*»'

Идентификатор: {Ре:

Комментарий. [Признак резидента

-с Значения '••- '-:

'±1'Jjjij:

||изманнп>|

Перечисление Резидент

Дня получения подсказки нажмите F 1 . . '. . . . . . ' ' . . . . . . . . .

& Пуск) @ $ 0 " ^КнигдбХв | fij 1СПрадпр-;.: | ^7Гядм5-:.4 ||^Ксшфитура.„ <у ЮПредлр..; j gg Paint 5гдрР-.-

• NUM С1ЛТУС:БД , Докумвнг

-'б-Р.-. j QQ: t3 i * i" "1 9;23

Рис. 5.1. Ввод значений перечисления

Нажмите кнопку ОК в диалоге Свойства Значения. Идентификатор значенияпоявится в поле диалога Значения. Добавьте новые значения:

О Идентификатор — НеРезидент;

О Представление — Не резидент.

В данном случае написание идентификатора и представления разное. Напи-сание представления удобно для пользователя.

Откроем окно редактирования справочника Контрагенты. Добавим новыйреквизит Резидент. Тип значения Перечисление.Резидент (рис. 5.2). Этотреквизит можно добавить в форму списка справочника с помощью кноп-ки Реквизиты панели инструментов Элементы диалога или через менюВставить.

Если все сделано правильно, то в пользовательском режиме при записиконтрагента реквизит Признак резидента будет раскрываться в виде списка.Из этого списка можно выбрать любое из двух значений: Резидент либоНе резидент. Это удобно с двух сторон: ввод данных в реквизит Резидентускоряется, и нет ошибок ввода.

Page 95: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Другие базовые объекты 89

ф Файл Конфигурация Конструкторы Администрирование Сервис Окна Помощь

:'J) О* У ; >'- Ч>1 ; 1У &• - Ш S» С ^Г"~" ? V , ?

Идентификатор jKoHrparei

Комментарий: j

КОЛ-ВО уровней [i^

Подчинен ZJ

Автоматическая нумерация I**

Контроле уникальности V

.•- Серии кодов. •

; ^ Во всем сграеочиикв

- '*' В пределах падчииения

гТинииа

i ' & Числовой

; Г Текстовый

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

- f~ 8 вмце кода

. <? Вю

I Дополнительмые j

Г Ойнаформадпяэяементаигрукы

Описание J Формаа

Идентификатор. [Резидент

Синоним1 . •. {Признак реэтеита

Комментарий;..: ГПеречне ле

Справочник, Кокграген«Документ»Доклеит П

~

^ Справочник Контраген»

Для полу виия подсказки нат I 1С7АТУС: БД, Документ.

Прадпр,., [ Щ||7ГМВа5- ..,

Рис. 5.2. Реквизит справочника типа Перечисление

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

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

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

Page 96: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

90 Глава 5

JJ Файл Действия Операции Справочники Документы Журналы Отчеты Сервис Окна Помощь .

ij & Ш

Ц

г!

,t. ЯоГОДЯ $ И » a Ml ЗЯ .*l-t J .. ;

«опии* ТОО

-" . .. . • : : . • . . - , • . - .

^Справочник: Контраген»

)ля выбора знвченпя нажмите КЛАВИШУ М i

300 Arro- Апьяне. тл||гв»м мтомоСилкыии«~»_; "~"""> ™""'"ff"

{[sa MI 50 ; № : м м. м- ]

Г"' ' JjUM ТА: iil.01,02 U0;00:00 W-- 2 квартал' гСЮ-t Г.

p.,. j Й}7Пим5-... | Кон яи... |j « !С:Предпр„ ggpehtSUvP.-i f Р**5 2 - Paint j

ТШВШШШЕ

j H

ihi".'";

Рис. 5.3. Справочник Контрагенты с реквизитом Признак резидентатипа Перечисление

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

В ветви метаданных Обработки создадим новую обработку с идентификато-ром НастройкаУчета и синонимом Настройка параметров учета. Дваждыщелкнув левой кнопкой мыши по идентификатору обработки в дереве мета-данных, мы вызовем форму обработки (рис. 5.4). В отличие от рассмотрен-ных объектов метаданных, обработка не имеет окна редактирования.

В этой обработке мы будем задавать значения констант. В нашей учебнойконфигурации их всего две: Дата регистрации предприятия и ФИО главного

Page 97: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Другие базовые объекты 91

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

Q Файл Действия Диалог Вставить Кс+фгурация Конструкторы Администрирование Сервис Окна Помощь

«S ! *,Г. и : AS * © i ; i E I и б 1|йЯй«'1в*а1и1*.*;:.4*1

./

•Jd-S-R * Г!Г7,-: Г

4ля получения подскажи нажмите F1 MJM 54 х Н ;69, Н2 jCTATVC: БД Т,

за ЕЙ? :«>? .а 19:25

Рис. 5.4. Экранная форма обработки

Для ввода значения константы ДатаРегистрации создадим реквизит диалогас идентификатором ДатРег, типом значения Дата. Для удобства пользовате-ля выставим в палитре свойств реквизита флажок Имеет кнопку выбора(рис. 5.5). Для ввода ФИО главного бухгалтера создадим реквизит диалогас идентификатором ГлБух, типом значения Строка длиной 20, соответст-венно типу значения константы ГлБух.

Перейдем в модуль формы обработки. Удалим созданную по умолчаниюпроцедуру выполнить ( ) и создадим две новых предопределенных процедурыПриОткрытии() И ПриЗакрытии().

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

Page 98: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

92 Глава 5

нее мы помещаем в реквизиты ДатРег и ГлБух значения констант, актуаль-ные на дату открытия обработки:

Процедура ПриОткрытии()

ДатРег = Константа.ДатаРегистрации;

ГлБух = Константа.ГлБух.Получить(РабочаяДата()};

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

Константа ГлБух периодическая, поэтому для получения ее актуальногозначения используется метод получить о.

j файл Действия Диалог Вставить Конфигурация Конструкторы Администрирование Сервис Окна Помощь

Q o S H s *е ;&* а и е йГ """Ни*:?: : . .-Iffixl

Г. н *й »& ' \\sit Й- 6* Ц» а- 1* :

ройка параметров учета

Общие} Тип Дополни!

Формами. )

ельно j Описание |

Г.':.' . - - -.:;

Г" Пропреть при eaofljt ..'.

R Имеет кнопку выбора

±ыок |

Отмена j

Обновил, |

•я получения подсказки нажмите F1

|^f*<3 » ^^тивнрус..

/ • i . :" ;NLM ^Sx'is"" :JS9, 42 '":СТАТУС БД *, AacywwT • "

.,. | ^Рисунки } И] 1СПредпр:,: j Й]7ГлавА5- ... |{^Конфигур.- УРнс5^-Рап({ ДЯ: Ig if |« №^1 19:26

Рис. 5.5. Установка свойства флажка Имеет кнопку выбора

Этот метод возвращает значение периодической константы на заданную да-ту. Дата задается системной функцией РабочаяДата ( ) . Данный код аналоги-чен коду периодических реквизитов справочников (см. разд. 4.4).

Page 99: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Другие базовые объекты 93

В реквизитах обработки можно задать новые значения констант. При закры-тии обработки эти значения присвоятся константам при помощи предопре-деленной Процедуры ПриЗакрытии() :

Листинг 5.2

Процедура ПриЗакрытии()

Константа.ДатаРегистрации = ДатРег;

Константа.ГлБух.Установить(РабочаяДата(),ГлБух);

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

Для периодической константы ГлБух применен метод Установить о, кото-рый определяет значение константы на указанную дату. Дата также задаетсясистемной функцией РабочаяДата ( ) , а новое значение константы берется изреквизита ГлБух.

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

Файл Действия Диалог Встаеить Конфигурация Конструкторы Администрирование Сервис Окна Помощь

°£ Т. и •*> * © fi &

Настройка параметров учета| Д«-*р*Гиетр«цни«фэдпршг '

- : Общие | Дополнительно j Описание ]

Заголовок: : .

Идентификатор1

{Показывать при запуске

iKwtrpone

Г* Сдемть неаоступньям - •

Г* Сделать невидимымГ •.•; •"• . • •- - '-'. -' "

!? Сохранять при сохранении настройки

QK

Отмена

Обновить

t~\ Диалог

Г г: .-. Г ab| И '

Рис. 5.6. Флажок для диалога вызова обработки

4 Зак. 585

Page 100: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

94 Глава 5

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

Диалог вызова обработки реализуем посредством флажка. Идентификатор —Контроль, заголовок — Показывать при запуске (рис. 5.6).

Если щелчком мыши мы установим флажок, то значение этого реквизитабудет равно 1. Если флажок не установлен, его значение 0. Исходя из этогосвойства, будем писать программу.

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

Фэйл . Действия Диалог . бет;

а* И , * <& Щ '• «ЬКонфигурация Конструкторы Администрирование Сервис Счсна Помощь

ЕЗ » с iwf 7~~ 7~3*» « : ? j

•jlfi | и fi j

•МЯТОНастройка параметров учета

fрим^^^^луркГ^------'-'/Г-лд^

, 1 Диалог /_'_ Л} I я

in &) HI» -•• .>;'.'-! z т \ИГгХонфигурация *' _ '

Общие Доло/«итвльно j Описание \

''• Г Прижать текст влево

. Г" Пропускать при мюов

»(-»(JU \

. м |

06wwre |

•f Пуск]

ажмите F1 . ..Г • >JUW 155x13 ;15, Иб .• ]СТДТУС; 6Д *, Докуиент* "

У> Днтн№рус'„,| 1№ Проверка... [^Рисунки _________ ( В] 1C Предпр.;,. \Щ7Гпам5 • J [ Конфнгур^Г |? Рис5_6 - Part j £Ц |д) • f ;« К 19:29

Рис. 5.7. Ссылка на процедуру обработки события

Page 101: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Другие базовые объекты 95

Процедура Щелкнуть_Флаг()

ПоказыватьНастройкуТорговли=?(Контроль=1, "1", "2");

Константа.Контроль = ПоказыватьНастройкуТорговли;

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

В первой строке процедуры переменной ПоказыватьНастройкуТорговли при-сваивается значение 1 или 2. Для чего присваиваются эти значения? Какуже говорилось, флажок Контроль может возвращать два значения: 0 и 1.Эти значения обрабатываются системой для выяснения: установлен флажокили снят. Но нужно еще выяснить, открывать ли обработку при каждом за-пуске конфигурации в пользовательском режиме. То есть появляется третьяситуация, для обработки которой мы вводим третье значение — 2. Все вы-шеописанное реализуется с помощью системной функции ? — вычислитьвыражение по условию. Эта функция вычисляет значение выражения, запи-санного первым в скобках (контроль=1). Если выражение истинно, флажокустановлен, переменной присваивается значение, следующее за выражением(1). Если выражение ложно — флажок не установлен, переменной присваи-вается последнее значение в скобках (2).

В следующей строке процедуры константе Контроль присваивается значе-ние переменной ПоказыватьНастройкуТорговли.

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

//предопределенная процедура

Процедура ПринАчалеРаботыСистемы()

ПоказыватьНастройкуТорговли=Константа.Контроль;

Если ПоказыватьНастройкуТорговли<2 Тогда

ОткрытьФормуМодально("Обработка.НастройкаУчета");

КонецЕсли;

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

Следует обратить внимание на то, что для открытия формы необходимо за-дать объект метаданных , точку и идентификатор объекта метаданных.

Page 102: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

96 Глава 5

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

| Листинг 5.5

Процедура ПриОткрытии()

ПоказыватьНастройкуТорговли = Константа.Контроль;

Контроль=?(Число(ПоказыватьНастройкуТорговли)<2, 1, 0);

ДатРег = Константа.ДатаРегистрации;

ГлБух = Константа.ГлБух.Получить(РабочаяДата());

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

Механизм работы процедуры тот же, что и в процедуре щелкнуть_Флаг ( ) .

Теперь можно проверить работу созданной обработки. Для этого нужно за-пустить конфигурацию в пользовательском режиме.

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

В нашей конфигурации уже существуют два журнала: ПрихНакл и РасхНакл.Они находятся в ветке дерева метаданных Журналы документов (рис. 5.8).

В журнале приходных документов (рис. 5.9) видны графы Дата, Время, До-кумент (вид документа) и Номер. Если нам нужны дополнительные сведе-ния, то необходимо создать графы журнала. Дважды щелкнув мышью поветви ПрихНакл, перейдем в окно редактирования формы журнала. Вызовемдиалог для создания новых граф, щелкнув по кнопке Новый. В появившем-ся диалоговом окне информация о возможных значениях фаф представленав виде стандартного дерева Windows. Последовательно раскрывая уровни,выбираем необходимое значение (Поставщик), которое при щелчке пострелке попадает в поле Выбранные значения (рис. 5.10). Нажимаем кнопкуОК. Теперь в окне редактирования журнала перейдем в форму списка(кнопки Формы | ФормаСниска), вставим реквизиты в форму списка и по-лучим усовершенствованный вид журнала (рис. 5.11).

Page 103: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Другие базовые объекты 97

Инге йс»! ] &fTpi

fJUM 'СТЙТ/С: БД *, Докупент '

Рис. 5.8. Ветвь метаданных Журналы документов

Рис. 5.9. Графы журнала приходных документов (в пользовательском режиме)

Page 104: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

98 Глава 5

LI о? ц ' '•• -ъ a i •%'.(&'; ш » с >:е£ % * м -и <* © : -;fl I

и.к

г L.;

':,f

аантнфии aicp ffi ринН ак п

жэмвигы"."11. : '"''"" "••"•'•[ляНакл

Общий • . ! ' ' " '

мфигурация * Ifn^yP1

1л я получвтя тдисажн нажните FI

^ Пуск, $ jj-J '. № Аптивиру

£ fi ; li*^ i> Isf- J> l3- u4

""{ - ;: :•'-". ;•"•;•• '••••^-

£«««« ;(Прихм№*д* нгы " - . . - . • • • • - • . . . '. . . •

.. ...

мл

Рис.

£| Флйп Действии Операции (тра*умк>

• :0 а? Ш : X Чй И i 4' ES •

«Э 'Я) ->б .Ц .Kfe И Л JJ ¥

faigHiMHHn

^Журнал документов п_

(М*ы::>;

шип

И(

К(

НЕ j-

ISrw

••••••Ш t|\ ;

„„„ТО|К5=MMhT«f>ufc |

fibiSpWHWe энвчвмия

i^J Ы

. . : Г .

и?«Кжа5Э% jtj

- -Синел*** Поставщик

~~~~~:,Ботмомные значения

г — 'ESBQ39..rt-i) ПрихНжл

-; Ш Ша<жа; -ч* Гостжшик

bfi БЕЗ Тайгмвия честь

К j Отмена : | Помощь ]

Mk7oaaftW...-j|vK2^"'T «W*- • 1i

&. " . ' / j: ''

Ш^:Щ

• MJM СТАТУС'ВД"*! 4жу«*Гт"* "Рж5_9 - Pair* j И ! © : ? ' * № ~,j) 19:31

5.10. Создание графы журнала документов

Документы Журн«1ы Отчеты Сожис Оки»

VM'31:

^m

"rW"M"H*'nWH"

Поисшь

P'~ iNUM iTAi'O

Д|Д|ТХ

( " j M M» M- i

-

— '. ... *

j|<*J2.7c.Vr rtW- - Jj

Ая»А«нсООО Г1Mo««.TOO Ш

PHtS.10-P*W j 3J; (?)!? :*1*';1 1*:ЭЕ

Рис. 5.11. Вид журнала приходных документов

Page 105: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Другие базовые объекты 99

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

Пока же нужно знать, что в системе "1С:Предприятие" возможно созданиешести видов журналов документов.

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

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

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

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

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

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

Таким образом, независимо от того, назначали ли в процессе разработкиконфигурации документу журнал или нет, документ все равно будет фикси-роваться в одном из журналов и никогда не потеряется.

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

Page 106: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

100 Глава 5

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

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

Возможности применения списка значений весьма широки. Первоначаль-ное представление об этом объекте дается здесь, а в гл. 8 приводится болеесложный пример его использования.

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

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

Выбор=СоздатьОбъект("СписокЗначений");

Теперь пополним этот список необходимыми нам значениями:

Выбор.ДобавитьЗначение(1,"Встроенная печатная форма");

Выбор.ДобавитьЗначение(2,"Внешняя печатная форма");

Выражение (1 или 2) используется непосредственно для указания системевыбранного значения, а символьное представление — для удобства сорти-ровки и выбора значений из списка (отображается в диалоговом окне выбора).

Организуем выбор значения из списка:

Рез=Выбор. Выбрать Значение (Код, "", Поз, , !•) ;

Метод выбратьЗначение о открывает окно для интерактивного выбора зна-чений из списка. Он имеет следующие параметры:

П Значение — идентификатор переменной, куда помешается результат выбора;

О Заголовок — строковое выражение заголовка диалогового окна. Можетиспользоваться для подсказки пользователю;

CJ позиция — идентификатор переменной, куда помещается номер позициивыбранного значения в списке;

П Тайм-аут — необязательный параметр. Числовое выражение, значение кото-рого задает время ожидания системы (в секундах) на отклик пользователя;

П способвыбора — необязательный параметр. Числовое выражение, значе-ние которого задает способ выбора значения:

• 0 — в виде диалога, задано по умолчанию;

Page 107: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Другие базовые объекты 101

• 1 — выбор производится в виде меню, которое подстраивается по мес-ту текущего элемента диалога или ячейки таблицы, откуда вызвано;

• 2 — выбор маленьким списком (список похож на выбор значения пе-речисления), также привязанным к позиции элемента диалога.

Возвращаемое значение метода — число:

П 1 — если выбор произведен (нажата кнопка ОК);

П О — если выбор не произведен (нажата кнопка ОТМЕНА);

П — 1 — закончилось время.

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

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

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

В переменную Рез у нас попадает возвращаемое значение. Если пользова-тель сделал выбор из списка, то значение созданного списка (1 или 2) попа-дет в переменную код. Если переменная код равна 1, тогда надо вывестивстроенный шаблон печатной формы, если 2 — внешний файл. Оконча-тельный вариант процедуры печати должен получиться таким:

5.6

Процедура Печать()

Перем код;Перем поз; //объявление переменных для метода "ВыбратьЗначение()"

Выбор=СоздатьОбъект("СписокЗначений");

Выбор.ДобавитьЗначение(1,"Встроенная печатная форма");

Выбор.ДобавитьЗначение(2, "Внешняя печатная форма");

Рез=Выбор.ВыбратьЗначение(Код, "", Поз,,1);

Если Рез<>1 Тогда Возврат;КонецЕсли;

Если Код=1 Тогда //пользователь выбрал первое значение

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

Таб.ИсходнаяТаблица("Таблица");

Таб.ВывестиСекциюС'Шапка") ;

Если ВыбратьСтроки()=1 Тогда //справочник позиционирован

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

Таб.ВывестиСекцию("Строка");

КонецЦикла;

КонецЕсли;

Таб.ВывестиСекцию("Подвал");

Таб.ТолькоПросмотр(1);

Page 108: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

102 Глава 5

Таб.Опции(О,О,О,0);

Таб.Показать("Приходная накладная");

КонецЕсли;

Если Код=2 Тогда //пользователь выбрал второе значение

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

//Таб.ИсходнаяТаблица("Таблица");

Таб. ИсходнаяТаблица ("ТаЫе\ПрихНакл. raxl") ;

Таб.ВывестиСекцию("Шапка");

Если ВыбратьСтроки()=1 Тогда //справочник позиционирован

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

Таб.ВывестиСекцию("Строка");

КонецЦикла;

КонецЕсли;

Таб.ВывестиСекцию("Подвал");

Таб.ТолькоПросмотр(1);

Таб.Опции(О,О,О,0);

Таб.Показать("Приходная накладная");

КонецЕсли;

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

Для проверки запустите "1С:Предприятие" в пользовательском режиме. Принажатии кнопки Печать должно появиться меню, как на рис. 5.12.

Файл . Действия "Операции ' Справочн»™ Доя»»»лы . Журналы Огчлег Сервис Охиа Помощь

с* h : -:: >.' : : • ••; {Я а с МГ^ ~2ft ft

>, pi-.n т ,1. Лрмнодпвя номиадняя „

Приходная пакл.шндя i

*•!"

jj

UL

«-|и™»"» У ц»

Sfcn — •

» | з«-> 1 п»

"'от1»-«" IE

>... _

J•

'"""?„-

кгГ

Всгроешля («ч.

Рис. 5.12. Список значений в процедуре печати

Page 109: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Глава 6

Запросы и отчеты

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

Определение

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

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

6.1. Начало создания отчетаОбъект метаданных Отчет является отдельной ветвью дерева метаданныхи создается аналогично другим объектам метаданных с помощью конструк-тора. В качестве примера будет создан отчет о закупках, обрабатывающийнеобходимые нам сведения, содержащиеся в приходных документах. Иден-тификатор — ПриходТовара, синоним — Приход товара (рис. 6.1).

Page 110: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

104 Глава 6

•.? .91 Л ' ' С fii Ё :

Интерфейсы; j ^n

КСМ...Н1ГУРЙЦ.-Я*

> получения гс лек a IK и нажмите F|

€ Пуск) ф ,£ «3 " К^™

нтарий |

Р' И^полсзога-скйтчстр^йрыалйссмаегмяновьмв&ьег

• —^— iJ д<"ке > . ir.f.:m;,',.n.J .J.Tl)*"?Li

' IIAJM ЛГЙТ/О6Д', Дс^умеит*

Рис. 6.1. Начало конструирования диалоговой формы отчета

Сервис окна • Попощь

i! С : и и

TJ*Кон.{.|уумция *_ 1{о»..ум..ьОтчет »о.,.><й1

^Проверка!

|.Х в в в1 п гз - г »ып :

*iUM:5axH 69, иг £ТАТУС: БД *, докунечт"

Z I С:У7 Uart... • ^PHCaJ-PatTt ) JB g) " « № 20;t-

Рис. 6.2. Прототип диалоговой формы отчета

Page 111: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Запросы и отчеты 105

При создании самой первой диалоговой формы отчета пролистаем все ос-тальные шаги конструктора (кнопкой Далее) и нажмем кнопку Готово.В результате получим основу диалоговой формы отчета (рис. 6.2).

6.2. ЗапросТеперь в отчет необходимо вывести некоторые интересующие нас данные.Выборка данных из различных объектов метаданных в интересных для поль-зователя разрезах производится несколькими способами. Мы рассмотримодин из наиболее мощных методов — запрос.

Для написания запросов существуют определенные правила:

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

П Затем описываются функции, которые будут рассчитывать (суммировать,вычислять среднее и т. п.) значения, на основании данных числовых пе-ременных запроса.

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

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

Создадим запрос в нашей учебной конфигурации. Это будет запрос по до-кументу Приходная накладная. Цель запроса — получить информациюо том, сколько и каких товаров поставили нам наши поставщики.

В форме отчета перейдем в модуль. Выберем пункты меню Конструкторы |Запрос. В диалоговом окне зададим имя запросу. Можно оставить и имя поумолчанию — Сформировать. Нажимаем кнопку ОК, раскрывается диалого-вое окно конструктора запроса (рис. 6.3). Управление конструктором осуще-ствляется с помощью кнопок Далее, Назад, Отмена.

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

Нажимаем кнопку Далее и в следующем окне добавляем переменные в запрос.

Для этого в правой части окна, в дереве метаданных, раскроем ветвьДокументы, затем развернем ветвь документа ПрихНакл, чтобы видеть рек-визиты документа. Нажмем кнопку Добавить переменную, затем щелкнеммышью по реквизиту Поставщик и перенесем его в соседнее окно слева,с помощью стрелки (рис. 6.4). Теперь также добавим переменные для вы-борки товара, количества и суммы. Нажмем кнопку Далее.

Page 112: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

106 Глава 6

" Прсцеуура генерации запроса С^-ормчр^

Процедура Сформировать', )Пйрйн Запрос Texc* Запрос ч . ТяЪ

ТекслЗапроса - • •"//{{ЗХПРОС(Сфориироважь) ПермодбдаПериод с ВыБНач Периода п<ОБраБалываяьДокумвнлы во п ' с*ОБраБажывамь НеПомечемны. Период WПославцик « Документ. ПриТовар • Документ . ПрихНак! .Количесмво - Документ ПрСунна = Документ . ПрикНак.Функция КоличесмвоСуммаФункция СумпэСумна « Сум.Группировка Поставщик, дшГруппировка Товар упоряд,Условие(Пооиаещих в BwSIIi, .

// Если омиБка S запросе. ОбрабатьвЕсли Запрос. Выполнишь ;Тек<

Еозбра» ; Обрабвтые

'/ Псэдгото&ка к заштлнени: . '.; : ,• 'ТаБ - Сс5д.змьОБ'ье;!.!пС "Табл' |

.'/ Запояшем ие р > ~ -!-• '•• '' i-* 1*' *ТаБ ВыбестиСекцим; "Заголо(С>зсмояние( "Заполнение вых^Тв8.0пции;'0. 0. T&S . Высот. ..Пока Запрос Группировка»; 1

jV Заполнение полей ТобврТаБ . ЕЫвесяиСекцим ( " Товар " ) ,

Ч _1- ЁрДналот / _| Нсшяль уХ]Табпица

:х*.ЛЯ* : ' ;il, j f j j j j »г /рзцяя * j (Q в^мв-От«т.Пр«нодтГГ

1пя получения подсквжи нажните Ft

/ Пуск] <Jj , gf* ** К АнтмвнрусКае,.. ?£Проверка

~~3й» ?: '

ет вьйфагься в диалоге Формы ^У.

j Р "f , >..•••- ' Г ' ' ....•.:.-. .'.• -;•;.-.- • \. •

\>; P55S ' - J : ;

атьДокументы все _;] ;

«ть НвПомечвмныеНаУдаление 7J • . " .. .

' Г ;' •"

Далев> j . Отмена | ' Помощь ' J

. . | . ,.. . . , ,( - . . , . , ; . • , - , • • ; - -

j А] Сформировать . /

• . • ' Щ'м'Г"75% j C/P«)«"Oi | [SJ 2 Microsoft W... '\\^,2 IC:V7 start». - $

А

строится о»че«

. - • : : • . . - V . : , .if*

" Win Г ! |СТАТУС:"6Д", Докуивкт''"^

Pnc6J-P«lnt j Щ^;?!«№ 20:15

Рис. 6.3. Конструктор запроса

Конструктор Запросов: Переменные

Имя переменной: Поставим»

Документ. П рихН ак я . П оставщик

BI1

1 В -Ц ПрияНакп

: ;+, _j Щ

: : Ш'Е^З Табпичная члсть

• J--J Реквизиты

| ! . UJ ДатаДок

• j Бр«мяДок

J

|-1

±j

Товар « Документ.ПрихНакл. Товар;Ко/мчество - Документ.ПрикНакл.Количество;Сумма = Докамент.ПрихНакл.Сумма;

Добавить переменную 1 Удалить переменную I

<Наэад I Дапее> j Отмена ] Помощь

Рис. 6.4. Процедура добавления переменных в запрос

Page 113: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Запросы и отчеты 107

В диалоговом окне конструктора запроса добавим функции для расчета ко-личества товара и суммы, на которую поставлен товар (рис. 6.5).

Конструктор Запросов: Функции

Функция (КоличествоСумма

j Сумма |ИЭИ2зЗ=В

Количествокогда Количество

_ Сумма_.,_;• : Товар. Себестоимость

3 Товар.ЦенаI Функция СуммаСумма * Сумма(Сумма); Товар.СтаекаНДС

Jj

Добавить Функцию Удалить Функцию

<Назад : Далее> Отмена Помощь

Рис. 6.5. Процедура добавления функций в запрос

Перейдем в следующее окно и добавим группировки. Переменные Постав-щики Товар выстроим в алфавитном порядке наименований.

В следующем окне добавим условие. Нажмем кнопку Добавить условие. По-ставим флажки Элементарное условие и Выбирать в диалоге. Теперь выберемусловие Поставщик в ВыбПоставщик.

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

Переходим в последнее окно конструктора. В нем уже выставлены все необ-ходимые флажки. В верхнем окне — созданный конструктором текст запро-са. Осталось нажать кнопку Готово, и отчет закончен (рис. 6.6).

Page 114: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

108 Глава 6

Период о: [вы6ШчПерн|И| по: |Вы6КонПери|ЕО|

ПоставщикэВыбПоставщик

формировать Закрыть

Рис. 6.6. Диалоговая форма отчета

Теперь отчет необходимо отредактировать вручную. Подправить диалоговуюформу, если требуется — программу и шаблон печатной формы. Если мыначнем работы с отчетом в пользовательском режиме, то в диалоговой фор-ме сразу обнаружатся неудобства. Можно выбрать различных поставщиков,но нельзя очистить поле поставщика. То есть мы либо работаем по отдель-ным поставщикам, либо по всем разом. Для очистки поля добавим кноп-ку с названием X. В палитре свойств кнопки, в поле формул напишем:выбПоставщик=о. Теперь при нажатии этой кнопки поле будет очищаться,и можно осуществлять различные выборки по поставщикам. Теперь отре-дактируем шаблон печатной формы. Сейчас он выглядит, как на рис. 6.7:итоговые данные по каждому поставщику располагаются выше строк с това-ром. Это не привычная для пользователя форма. Лучше разместить итоги попоставщикам после перечисления поставленных ими товаров. Для этого пе-рейдем в модуль отчета и исправим процедуру формирования. Найдем в нейфрагмент программы:

...

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

//Заполнение полей Поставщик

Таб.ВывестиСекцию("Поставщик");

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

//Заполнение полей Товар

Таб.ВывестиСекцию("Товар");

КонецЦикла;

//Заполнение полей Поставщик

Таб.ВывестиСекцию("Поставщик");

КонецЦикла;

Page 115: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Запросы и отчеты 109

и л Действия Таблица Вид Операции Справочники Документы Журналы Отчеты Сервис Окна Помощь

з;а ,> чьи'в® :ш з с **!Э V; __

'ilflisl

i< •• •• ) §• i f f l f f e ::!u:tt-' 1 Приход товара ] Сформиров«ть *

ДляголучежяподсказкинажмитвР! i NUM ТА: 01.01,02 00:00:00 БИ: 2 кмртал 20ОТ г. [ТП:

•J flycK 0^0 м К Антивирус,,. j ^Г^»ом[Жа7... j О Paint Shop Pro | 2 Microsof... '|[«У2 lC:V7»t...' 1J P^6,6-Part j gjpaintshopp,.,| gj [?)

Рис. 6.7. Экранная и печатная форма отчета

И выведем секцию с итогами поставщика после цикла с выводом в таблицу

товаров данного поставщика. В результате фрагмент будет таким:

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

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

//Заполнение полей Товар

Таб.ВывестиСекцию("Товар");

КонецЦикла;

//Заполнение полей Поставщик

Таб.ВывестиСекцию("Поставщик");

КонецЦикла;

И печатная форма отчета будет в привычном виде (рис. 6.8).

5 Зак. 585

Page 116: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

110 Глава 6

j Файл Действия Таблица Вил Операции Справочники Докумемгы Журналы Отчеты Сере*

" ' ' " " " ' ' " ~ЕЗ И '"'ft УТ['! О "5 Н ' ' -Г | в1 в » <t мГ

ТоеярИаимакщнмч

4000 ДО

J . ' .

И ЗЕ: в т !*,•; и !'Ш с г» \aatn*<з З

Рис. 6.8. Печатная форма отчета

Разумеется, экранную и печатную форму еще надо приводить в порядок —выравнивать, делать заголовки и т. п. Но это можно выполнить уже само-стоятельно.

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

У/*******************************************

//Процедура генерации запроса Сформировать.

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

Перем Запрос, ТекстЗапроса, Таб; //объявляем переменные для работыв процедуре

//Создание объекта типа Запрос

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

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

Page 117: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Запросы и отчеты 111

"//{{ЗАПРОС(Сформировать)

(Период с ВыбНачПериода по ВыбКонПериода; //указываем, временной пери-од, внутри которого строится отчет

|ОбрабатыватьДокументы все; //используются все документы

I Обрабатывать НеПомеченныеНаУдаление; //кроме помеченных на удаление

IПоставщик = Документ.ПрихНакл.Поставщик; //информация о Поставщике изприходных накладных

IТовар = Документ.ПрихНакл.Товар; //как и информация о товаре

(Количество = Документ.ПрихНакл.Количество;//о количестве товара

IСумма = Документ.ПрихНакл.Сумма; //и сумме, на которую по-ставлен товар

(Функция КоличествоСумма = Сумма(Количество); //суммируем для подэто-гов и итогов

(Функция СуммаСумма = Сумма(Сумма);

(Группировка Поставщик упорядочить по Поставщик.Наименование; //суммывыводим по поставщикам

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

(Условие(Поставщик в ВыбПоставщик);//условие

|"//}}ЗАПРОС

;

//Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

//Подготовка к заполнению выходных форм данными запроса

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

Таб.ИсходнаяТаблица("Сформировать");

// Заполнение полей "Заголовок"

Таб.ВьшестиСекцию("Заголовок");

Состояние("Заполнение выходной таблицы...");

Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

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

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

//Заполнение полей Товар

Таб.ВывестиСекцию("Товар");

КонецЦикла;

//Заполнение полей Поставщик

Таб.ВывестиСекцию("Поставщик");

Page 118: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

112 Глава 6

КонецЦикла;

//Заполнение полей "Итого"

Таб.ВывестиСекцию("Итого");

//Вьюод заполненной формы

Таб.ТолькоПросмотр(1);

Таб.Показать("Сформировать", "");

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

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

Предупреждение

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

Page 119: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Глава 7

Пользовательский интерфейси администрирование

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

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

Page 120: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

114 Глава 7

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

Файл Действия Конфигурация Конструкторы

-j) 4f 3 U t

Jl i» ® ь is s i*; » *-;

•#*"•"•>

Основные j " • • ' • / . ' •

Название: [Бухгалтер

Г" Отключить меню "Операции" . -, .

Р' Испольаовать при отключенной авторизации

(Ж |

Отмена j

Обновить |

Рис. 7.1. Палитра свойств пользовательского интерфейса

Название интерфейса — это произвольная строка текста. Желательно, чтобыоно было осмысленным и понятным пользователю.

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

Предупреждение^

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

Page 121: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Пользовательский интерфейс и администрирование 115

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

Для вызова редактора меню необходимо на имени соответствующего интер-фейса из списка нажать правую кнопку мыши и выбрать пункт выпадаю-щего меню Редактировать меню..., после чего откроется окно палитрысвойств меню (рис. 7.2). Меню в редакторе — в виде дерева. В самом началеразработаем меню первого уровня, которое будет выводиться в строке наря-ду с уже имеющимися по умолчанию.

Файл Действ*» Кофтурашм Конструкторы А*им»«трированнв Сервис Окна Помощь

OftaiHe | Пчимегтры | Д>х«яер«тср |

Название: [Справочники Г" Системная колонка

Объект- | ; _J

K»*«*:| . :' ~ г-.- ' ' JПодсказка: |

ОК . |

Отмена [

Рис. 7.2. Палитра свойств меню

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

Page 122: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

116 Глава 7

Создадим элементы меню первого уровня:

П справочники;

П документы;

П журналы;

П отчеты.

Щелкнем на пиктограмме плюса слева от ветви Справочники. Откроетсяветвь этого элемента <новый.>. Щелкнем дважды по ней и заполним па-литру свойств нового элемента выпадающего меню второго уровня(рис. 7.3). Тип так и останется по умолчанию — Команда, а в поле Объектиз раскрывающегося списка выберем Справочники.Номенклатура. Так каксправочник имеет синоним, этот синоним автоматически попадает в полеНазвание, которое пользователь и увидит в своем меню. Если синонима нет,в поле Название попадет идентификатор, и название придется отредактиро-вать вручную.

t) Файл Действия Конфигурация Конструкторы Администрирование Сервис Окна Помощь

d eg a *%*», ^"gi щ •$.

И э е :й(——

С &&' ' Л*

• в a/HВ -

[« "Щ| ДО«УН*МТЫ

:*: Жл»*пы

и! •§ Отч*ти:li:|^

Общие J Пврамвтрм! Акселератор |

Название: [Справок

Подсказка: ] Справочники. Номенклатура Открыть

Для ткутучвния подска

J^&y^nTep - Редактор „

иит«Р1 • . • '•*•-.-•-.'.'•'..

• \ ij Рисунки . j и]| iCj>ejripH

( ШМ СТДГУС: БД, Документ

I ¥Р"с7 2-PaintJ g? Pant ShopFtti 1 Щ I J ' ? !« K: 2j;0i

Рис. 7.3. Палитра свойств меню второго уровня

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

Page 123: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Пользовательский интерфейс и администрирование 117

документа активизируется поле Команда, содержащее список из двух команд:Документы... Ввести и Документы... ВвестиНаОсновании. В нашем примеревыбираем команду Документы... Ввести, так как в конфигурации нет доку-ментов, вводимых на основании других документов.

Меню Журналы и Отчеты создаются аналогично меню Справочники.

Теперь осталось проверить, как будет работать наше меню. Для этого нужнощелкнуть мышью на кнопке Проверить меню панели инструментов редакто-ра меню или войти в меню конфигуратора Действия | Тест. Тогда редакторменю откроет Тестовое окно (рис. 7.4). В этом окне можно просматриватьвнешний вид меню, но нельзя его использовать.

Окно гсосиотра и тестирования меню. Дто продолжения закройте окно. : NUM СТАТУС: БД, Документ

•I пуск) ^® "l jHai HTYP... <У1С!ГЧ»дг<1... | j Рисунки | И] [СПредпри.^! S] Удуа 7 •..'. j У Рнс;_3 - Pant J jg Р«« Shop Pro ; );? ,. К 21:02

Рис. 7.4. Тестирование вновь созданного меню

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

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

Page 124: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

118 Глава 7

терфейс, можно щелкнуть на нем правой кнопкой мыши и в открывшемсяменю выбрать пункт Редактировать панель инструментов.

Подменю и разделитель

Файл Операции ; Справочники Документы Журналы Отчеты Сервис Помощь

Рис. 7.5. Подменю и разделитель

Окно редактора панелей инструментов будет открыто по этой команде. Оносостоит из трех зон (рис. 7.6):

П Список панелей позволяет создать столько панелей, сколько нужно.

П Состав панели позволяет включать или исключать кнопки из панели.

П Библиотека пиктограмм позволяет выбрать необходимое изображение длякнопки.

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

Page 125: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Пользовательский интерфейс и администрирование 119

Конструкторы

Д'ч>|-1а»:ё ? Jo gel

Рис. 7.6. Окно редактора панелей инструментов

!ЦВ Файл Действия К стриромнне Седвис Окна Псисшь

;;а <#"а":Т "

Ж7.6 • Pamt 1 В Part 9к» Pro \ QQ g) f :« *4 21:03

Рис. 7.7. Заполнение панели инструментов

Page 126: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

120 Глава 7

Файл Операции Справочники Документы Журналы Отчеты Сервис Окна Помощь

0 » "Л^Кои4*гура... | |С;Предпр^ C^ft

Рис. 7.8. Меню и панель инструментов

кнопки панели инструментов. Порядок ее заполнения аналогичен заполне-нию палитры свойств элемента меню. Нажмите кнопку ОК, и в диалоговомокне состава панели появится наименование вызываемого объекта метадан-ных и действия, которые произойдут при нажатии кнопки. Сама кнопка —серая, это заготовка для пиктограммы. Захватите мышью подходящую пик-тограмму из окна библиотеки пиктограмм и перетащите ее на серый квадра-тик. Кнопка готова (рис. 7.7).

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

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

Page 127: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Пользовательский интерфейс и администрирование 121

рации. Окно редактора похоже на окно Метаданные, но содержит только теобъекты метаданных, для которых могут быть назначены права. Пример —документ. Нет ветвей для реквизитов шапки документа и табличной частидокумента, так как права могут быть назначены только целиком на до-кумент (рис. 7.9).

(" Файл Действия Конфигурация Конструкторы Администрирование Сервис Окна Понощь

О с* У :. I . 0В ^ с; »Г~" ~~~3« м ! t ;

ej ;4ir. « : • ' £«© ' -.с ее ::ass>i»^[j^:,-•

Доступ |..: . . - _' . - ' ; ,

[ Адмимистрэтивмы* Функции _*] ig J

«•. Сохранение/Выгрузка ванных[ Управление оперативными итогами ^~4: .-: :....j

У Управпвиие бухгалтерскими итогами ; И 1

у]Мониг<ч> — __J^Использование в качестве OLE Aulomafen ce_^J

J?j j

. '. ;ОК, .: ' J

1 : Отмена1.:].

::'06HOeUTt>j

j АДМНИСТРвТОР -

Для получений под сква NUM 1СТАТУС: БД, Докуиемт

>Р1«| И: (j)| J j « k 21105

Рис. 7.9. Дерево прав конфигурации

В пустой базе создается один набор прав — Администратор, со всеми пра-вами на виды объектов метаданных, т. е. полный доступ к информации.

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

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

Page 128: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

/22 Глава 7

разрешать другие логически связанные операции. Например, включениефлажка Корректировка автоматически включает и флажок Чтение. А отклю-чение прав на чтение автоматически отключает все остальные права, ведьесли нет прав на чтение информации, изменять ее как-либо уже невозмож-но. Кнопка с двумя установленными флажками позволяет установить сразувсе права на объект. Кнопка с неустановленными флажками снимает всеправа с объекта метаданных.

Создадим новый набор прав — Бухгалтер. Через кнопку панели инструмен-тов или меню создадим новый набор прав, дадим название: Бухгалтер. На-жмем кнопку ОК, и название нового набора прав появится в списке набо-ров прав конфигурации. Теперь дважды щелкните мышью по названиюнабора. Откроется дерево прав. Двойной щелчок мышью по любому объектуметаданных — никаких прав в настоящий момент нет. Если мы дваждыщелкнем мышью по наименованию ветви объекта метаданных, например поконстанте, откроется палитра свойств элемента прав, относящихся ко всемметаданным в этой ветви. Установим для бухгалтера все права на константы(рис. 7.10).

' Файл Действия Конфигурация Конструкторе! Администрирование

D с* Н : ь , «ft ; № i Щ » 'С еК Г "Помошь

Отчеты

Овр*ботки

Рис. 7.10. Установка прав на константы

Page 129: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Пользовательский интерфейс и администрирование 123

Проверьте, установлены ли теперь все права на каждую константу.

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

Предупреждение

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

Когда пользовательский режим запускается из конфигуратора, не забудьтеустановить права на монопольный режим в корне дерева прав самой кон-фигурации (в нашем примере — Задача). Иначе при запуске будет выданосообщение "Недостаточно прав!".

7.3. Создание нового пользователяНовый пользователь может быть создан в меню Администрирование | Поль-зователи или кнопками панели инструментов. Имя пользователя — произ-вольная строка, состоящая из букв, цифр и знаков подчеркивания, длинойне более 24 символов. Имя желательно давать в соответствии с функциями(рис. 7.11). Если несколько пользователей имеют одинаковую функцию,можно копировать имя в буфер обмена, меняя только окончание для соблю-дения уникальности. У вновь созданного пользователя палитру свойствможно не заполнять сразу, а позднее, выделив этого пользователя. Палитруможно вызвать из выпадающего меню пунктом Свойства. Атрибуты, харак-теризующие нового пользователя:

П имя — для задания и редактирования имени пользователя;

П полное имя — для расшифровки имени. Это произвольная строка, кото-рая может содержать пробелы;

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

П роль — для выбора наименования пользовательского интерфейса и набо-ра прав, которые будут поставлены в соответствие имени пользователя.В поле Права необходимо указать название набора прав пользователей.

Page 130: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

124 Глава 7

В поле Интерфейс указывается название индивидуального пользователь-ского интерфейса. Опция Отключить контроль прав отменяет для указан-ного пользователя контроль доступа к информации. Это все равно, какесли бы пользователю были предоставлены все права (рис. 7.12).

3 Файл Действия Конфигурация Конструкторы Администрирование Сервис Она Помощи

Чв,| 9fc Ju -W ( ^S Ф ©• •'' "" ii fi i flS И ^ :!ii* ' >- !i b ti* ' '-

j a r » * Mi*;sjlАднииисгрдтор

!,ля получения подскажи нажните PI

4. Пуск] 0-. .40 0 " [ '

• .NUM СТАТУС; Е>Д , Документ

ЭВ^'Ш: * I е 21:07

Рис. 7.11. Создание нового пользователя

[свойства пользователя И|

Атриб ггы

Права:

Интерфейс:

Роль 1

(Бухгалтер

[ИЯЯЯВИ! д)

• [ДИВ1 Отключить контроль прав

f | -»|

OK J

Отмена 1

Обновить 1

Рис. 7.12. Назначение прав и интерфейса пользователю

Page 131: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Пользовательский интерфейс и администрирование 125

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

Теперь можно запустить конфигурацию в пользовательском режиме ипроверить наличие или отсутствие соответствующих прав пользователя(рис. 7.13).

дсправочмсКои!

«лучения подсказки нажмите FI

jLftygcj $• :*й 0 ** -Jj Р^У?*" j lcnpgj -JMyf^ -7; J^J^

;вартап2004г.

1СЛредпр... Ш' 0'г'7 \«~Й* 21116

Рис. 7.13. Проверка прав пользователя

Page 132: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

126 Глава 7

7.4. Заключительные замечанияФункция создания списка пользователей и функция создания пользователь-ского интерфейса отделены одна от другой. Такой подход достаточно гибоки прост в использовании.

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

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

Page 133: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Глава 8

Некоторые дополнительныесведения

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

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

8.2. Сохранение базы данныхОдин из главных факторов стабильной работы в "1С:Предприятие" версии 7.7 —регулярное сохранение информационной базы данных. Разрушение базыможет происходить по разным причинам: поломки компьютера, вирусы,внезапное отключение питания, сбои в сети, вообще непонятные причины.Разрушенную базу бывает очень трудно восстановить, а часто и вообще не-возможно. И пропадет работа многих специалистов, будет нарушено функ-ционирование предприятия. Если же база данных сохраняется каждый день,как рекомендуют опытные пользователи, то, максимум, вам придется вос-станавливать учет за один день. В самых трудных случаях вы можете простопереустановить программу на другом компьютере (ограничений на количе-ство инсталляций "ЮПредприятие" не имеет), восстановить из сохранен-ной копии базу данных и продолжить работу.

Page 134: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

128 Глава 8

Рис. 8.1. Палитра свойств конфигурации

Желательно иметь несколько архивных копий. В самом простом случае базадолжна ежедневно копироваться на жесткий диск компьютера (или сервера)и на независимый носитель — дискеты, съемные диски, компакт-дискии пр. Неверная загрузка измененной конфигурации также может повлечьразрушение базы, которое проявится только через несколько дней. В этихслучаях наличие архивной копии базы за последний день не спасет положе-ние. Исходя из опыта работы, можно рекомендовать сохранять копии ин-формационных баз данных за последние пять-семь дней.

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

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

Page 135: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 129

которые условно можно поделить на два режима. Режим Сохранить/Восстановить (Сохранить данные, Восстановить данные) и режим Выгрузить/Загрузить (Выгрузить данные, Загрузить данные) (рис. 8.2).

Рис. 8.2. Опции меню для сохранения или восстановления данных

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

ЗамечаниесРежим Сохранение/Восстановление обеспечивает сохранение данных тольков случаях формата DBF. Режим Выгрузка/Загрузка работает в формате DBF иMS SQL Server.

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

О *.DBF — файлы данных;

Page 136: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

130 Глава 8

О 1CV7.MD — описание конфигурации задачи;

П 1CV7.DD — описание структуры файлов данных;

П 1CV7.SPL — словарь, который используется для выдачи чисел, наимено-ваний денежных единиц и дат прописью.

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

(Сохранение данных

/

Сохраняемые Файлы: -.• .

".DBF1CV7.DD1CV7.MD1CV7.0RD1CV7.SPLUSRDEFUJSERS.USR

"охранять в:

Е:\1 скиг$М(нигаМ<онсганты\1 Cv7.zip' . . . ' . : . . ; : • • . : . • . . •••••>• . :':

Сохранить j

i Закрыть

Добавить J

Добавить маску !

Уда/п-пъ ]

II

f : • ; ..' - Й • • • '.'",

Рис. 8.3. Диалог Сохранение данных

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

Чтобы добавить файл в список сохраняемых файлов, необходимо выделитьего клавишами или мышью и нажать кнопку ОК. Нажав кнопку Отмена,можно отказаться от выбора файла. Для исключения файла или группыфайлов из списка необходимо выделить наименование файла в списке инажать кнопку Удалить. Из списка нельзя удалить системные файлы и фай-лы данных — при выборе таких файлов кнопка Удалить станет недоступной.

После нажатия кнопки Удалить на экран будет выдан запрос для подтвер-ждения удаления выбранных файлов. Нажатие кнопки ОК удаляет выбран-ные файлы, кнопка Отмена возвращает в режим Сохранение в архив.

Список сохраняемых файлов запоминается при выходе из режима Сохране-ние в архив. На экран выдается запрос "Сохранить список сохраняемыхфайлов?", при ответе Да список будет сохранен.

Обратите внимание на поле Сохранить в. При нажатии кнопки справа отэтого поля откроется стандартное диалоговое окно Windows, в котором надоуказать путь к месту (носителю), где будет сохранена архивируемая база.При этом, если информационная база должна сохраняться на дискетах,

Page 137: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 131

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

В случае необходимости из архивной копии можно восстановить данные.Для этого выберите пункт Восстановить данные в меню Администрированиеглавного меню конфигуратора (рис. 8.4).

Восстановление данных

танавливать-

Из архива:

Дата архива: --

Е:\1скит1чнига\Констангы\1 Cv7.zip _J

Рис. 8.4. Диалоговое окно Восстановление данных

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

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

Предупреждение

Если в каталоге текущей информационной базы существуют какие-либо файлысистемы "1С:Предприятие", они будут полностью заменены информацией изрезервной копии.

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

Зафузка сохраненных данных производится при вызове меню Администри-рование | Загрузить данные. В диалоговом окне (рис. 8.5) необходимо указатьпуть к архивному файлу и нажать кнопку ОК. После этого появится сооб-

Page 138: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

132 Глава 8

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

Рис. 8.5. Диалоговое окно Загрузка данных

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

В заключение раздела замечу, что архивировать базу данных можно и с по-мощью любых внешних архиваторов (ZIP, RAR и т. п.), и с помощью спе-циализированных программ (например, "Хранитель" фирмы "Гендальф",г. Ростов-на-Дону, www.gendalf.ru).

Page 139: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения ^ /33

8.3. Перенос справочников с даннымиНеобходимость переноса справочников возникает достаточно часто. Напри-мер, надо создать пустую конфигурацию (копию рабочей), но перенестив нее из рабочей информационной базы справочники с данными. Действи-тельно, ввод остатков в пустую информационную базу — часто возникающаязадача и достаточно длительная работа. Особенно если необходима набивкасправочника номенклатуры из 40 000 наименований. В данном разделе опи-сан порядок работы по переносу справочника с данными для двух вариантов:

П справочник с данными переносится в пустую идентичную конфигурацию;

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

8.3.1. Добавление нового справочникаИз условной конфигурации Бухгалтерский учет в нашу учебную конфигура-цию перенесем справочник Коды бюджетной классификации. В учебнойконфигурации этого справочника нет.

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

Шаг 1. В режиме конфигуратора откройте учебную конфигурацию. Выбери-те в меню Конфигурация пункт Объединение конфигураций (рис. 8.6).

В стандартном диалоговом окне Windows Открыть файл конфигурации най-дите папку с конфигурацией, в которой находится справочник, — в данномслучае с конфигурацией Бухгалтерский учет. Выберите файл с расширениемmd и нажмите кнопку Открыть (рис. 8.7). Файл с расширением md содер-жит только описание конфигурации в особом формате: структуру метадан-ных, набор прав, пользовательские интерфейсы, но данные в этом файле нехранятся.

На экране появится диалоговое окно Объединение конфигураций (рис. 8.8).

Шаг 2. Уберите флажки со всех объектов в колонке Объект. Для этогощелкните левой кнопкой мыши по всем флажкам в квадратиках слева отнаименования объектов.

Шаг 3. Щелкните мышью по знаку + слева от ветви метаданных Справочники.У вас появится список справочников конфигурации Бухгалтерский учет.

Шаг 4. Найдите интересующий вас справочник (в нашем примере — Кодыбюджетной классификации) и, щелкнув мышью по квадратику напротивнего, установите флажок.

Шаг 5. Убедитесь, что флажок только напротив интересующего нас спра-вочника, и нажмите кнопку ОК. Произойдет добавление справочника к учеб-ной конфигурации, о чем система выдаст сообщение (рис. 8.9).

Page 140: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

134 Глава 8

*>айп , Конфигур*Ф«й -KoHeiWKtoee '•'. Адамёчетр^ование Сервис (Ун* Поиощв

Эткрытьконфггурйипо Л*,' ',,, ' Ф

"" "'NLM ХЛАТУС'.ГД,"

ShopPrp ..J ^Р>кВ_1 - aint j Щ © i * ' " К '"I И'15

Рис. 8.6. Выбор меню Объединение конфигураций

Г" "'NUM'(СТАТУС: 5Д, Дй(>т*нг

| gj Part Shop Pro...| урихв,б-Р*т1

Рис. 8.7. Выбор файла с расширением md в диалоговом окне

Page 141: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 135

I в110Гмввв;И... | Й}1СПредгц»«г..;1 Sg Paint Shop Pro.,. I Рис8_7 - Paint i Ш'' p): J U К чЬ '20;i

Рис. 8.8. Диалог Объединение конфигураций с развернутым списком справочников

Конструкторы . Аднинистриромние .Сервис Окна Помощь

процесса объединения конфигураций•Режим замещения ведущих объектов•Загружаемая конфигурация является приоритетной•Добавление Объекта: Тправочник.КлбыБшжетнойКлэссмФикаииим

Окончание процесса объединения конфигураций

Конфигураций* •

получения подсказки нажмите F1 ЙЧМ-РАТУС: БД *, Документ

Рис. 8.9. Новый справочник добавлен в учебную конфигурацию

Page 142: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

136 Глава 8

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

Шаг 6. Закройте окно конфигуратора.

Шаг 7. Зайдите в каталог с базой данных рабочей конфигурации (в нашемпримере — Бухгалтерский учет). Найдите там файл 1CV7.DD — так назы-ваемый словарь данных, который содержит описание структуры хранениябазы на специальном внутреннем языке описаний (рис. 8.10).

Файл 1CV7.DD

Файп Правка Вид Избранное Сервис

' . • > • * •/•'• >''• '' Поиск : •.

Справка

'-. Папки ' [ТТч

Адрес: | _i Е:\1сЫге\базовые

Папки

Ш C*J Проекты^ CD-RW дисковод (D:)<•* VLADIMIR (E:)

№ сЗ ~MS5ETUP.TS3 р 1с75В £3 Ickurs

IB tpDtsUnt»

NEW_5TRLI

ТЕП

111

£Э N£W_5TRU

ЁЭ SYSLOG

Ш £ ) КнигаШ Ё1 ПробныйИ 1с77Ш Q 1SBCIВ И 15BDBШ £Э ISBDemoFfl C|( 1C Базовый курса и) ArhivШ (Э bilinglЯ И) bilingkornpН И) buhkazВ £j FinPlanis Q FPflcTrCcIS И FPAddШ U FPDemo

. / базовые

1SDNLOCKФ:1г1?: "CL X='

SKE

1SSYSTEM.DBF

Iwl 2 Microsoft.

15X>URN.DBFаил"DBF"

i ISUIDCTLJ Л^Конфигурато... \J° Pnc8_9-Patnt ^CorelDRAW 10... 1

Рис. 8.10. Файл 1CV7.DD в каталоге базы данных

Шаг 8. Откройте этот файл с помощью стандартного редактора WordPad.В меню Правка | Найти перейдите к интересующему нас разделу Справоч-ник КодыНазначенияПлатежей (рис. 8.11) и запомните (запишите) названиефайла, в котором хранятся записи этого справочника: SC4679 (у вас он мо-жет быть другой).

Page 143: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 137

H ITvT-WordPad ВЕШФайл Правка Вид Вставка Фермат Справка

I-IDD (of ID |0 1 IDI-CODE |of CODE |0 I CODE (UPPER)I-DESCR |of DESCR |0 | DESCR (UPPER)

( С1 Е,; :

« N a m e I Descr I Type[A/S/U] I DBTableHamel ReusableT-SC6794 (Справочник КодыБюпжетнойКласси) Аff Fields

ISC6794 |1

# Name | Descr 1 Type| Length] PrecisionF-ID | ID object |C 1 9 |0F=CODE (object code | С |6 |0F-DESCR (object description 1 C I 100 ( 0F-ISMARK (Flag Object is Marke|C ( 1 ( 0F-VERSTAHP (Version stamp | С ( 6 ( 0# Indexes

:•

•ff Name | Descr I Unique 1 Indexed fields | E.' ;'I-IDD |of ID 10 1 IDI-CODE (of CODE |0 | CODE (UPPER)I-DESCR ( o f DESCR |0 | DESCR (UPPER)

*

и '- :•( с :|СН

#--TABLE no 26 : Справочник КодыНазначенияПлатежейft Name I Descr | Type[A/S/U] ( DBTableNamel ReusableT-SC6796 (Справочник КодыНазначенияПлате | Аff Fields

(SC6796 |1

ft Name | Descr | Type! Lengthl PrecisionF-ID |ID object 1 C ( 9 (0F=CODE lobiect code 1C 13 10 -U

<\ ' , , . . . . . . . . . . . . • v ^ . i H

Для вывода справки нажмите <Fl >

^ЭЬ'Пуск] ffi ^ *^'f w •^ТоргБух. [р^2 ^1С^5"-;"*| ^i J5°''| '1

. Г JNUM

ггр± Л:РИС8.Ш...., ^Cc«IDRA,J|g 1CV7.W... ®« 18:04

Рис. 8.11. Информация о справочнике КодыНазначенияПлатежей

Шаг 9. Перейдите в каталог с учебной базой и откройте файл 1CV7.DD, за-писанный в ней. Найдите раздел, описывающий справочник КодыБюджет-нойКлассификации, и введите имя файла, предназначенного для храненияданных SC104.

Шаг 10. Войдите в папку с базой учебной конфигурации и переименуйтефайл SC104.dbf таким образом, чтобы он подсказывал прежнее название ине совпадал ни с одним возможным файлом конфигурации — например,SC104a. Обратите внимание, мы переименовываем только файл с расшире-нием dbf, именно в файлах с таким расширением хранятся записи справоч-ника.

Шаг 11. Скопируйте из папки с базой данных рабочей конфигурации файлсправочника SC4679.dbf или соответствующий ему в вашей конфигурациив папку с базой данных учебной конфигурации.

Шаг 12. Переименуйте скопированный файл SC4679.dbf в файл SC104.dbf,т. е. замените пустой файл данных файлом с записями.

Шаг 13. Удалите файл SC104a.dbf или соответствующий ему в конфигурации.

Page 144: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

138 Глава 8

Шаг 14. Удалите в папке с базой данных учебной конфигурации все файлыс расширением cdx.

Шаг 15. Запустите учебную конфигурацию в пользовательском режиме. По-сле переиндексации вы увидите уже заполненный справочник с данными(рис. 8.12).

т

3

"*"':i•|

." t1 j|

. !А'|

" 1

"J

'I' 1" 1'1

,•• * ]

|

^:':j^^;^*'%-'%"a #..".. •'•':-. •;•'";.> • ' • • : • " ; ' • • / '''••'.:•"•'•:,.'• -.':::v ; / / i' 'SlСод... . ; ' . . . . • ' • ' - . ••

01102Ю110301104

Ю1201Ю1202Ю2ЮО

озюоЮ4Ю1

04102104201

104301

Ю4302Ю4303

Ю430404305

104401

104402

05Ю1

105102Ю5201

105202Ю5203Ю5204

Ю5205

Закрыть ] . ;

Н«НИ*Н»»Н* • . ' • , ' • . . • ; • • ; . : • - . • • • • • . - • - . . . • . : • ' : • ; • . ' , .•-, '^^\

Подокадный налог с юр.лиц-р«эндентов ТТ;Подоходный НАЛОГ с юр лиц-н«$>*зиа«кго» * ~1

Подоходный налог с юр.лиц-р«»наекгов. ^ш«рж. "Подекадный НАЛОГ с юр лыц-н«р«зиденто*. удерж '-'-Ц

Подоходный налог с »из лиц. уд*рх.у источник 1

Подоиодкы(4налогс^и9.лми,94Нинаюи1иисягф«дгфинмыат«1ьскомд*яг«льностью . ' :

Сбор на СОЦИАЛЬНО* обеспечение '" I

Социальный халог г; |

Налог на имущество юр. пни .-'•Напог на имущество «и», лиц •>•

Сбор за регистрацию эмиссии ценных бумаг • •.Эемельньм налог на земли с/к »нач»ний . .

Змкпьный налог на земли нас+пенных пунктов , Г^й

Земельный налог на земли промышленности |Земельный налог на земли лесного ФОМА * '<*•**•%

Земельным налог на земли водного ФОНДА "--*Ф

Налог нАтраиспортны* средства с юр.пиц •НАЛОГ НА транспорт средстм с *»з. лиц , „;$

НДСнатовАрыннутренкеголроизкодстеА '„4

Налог НА добавленную стоимость НА товары, «возимые натерриторию РКВс* ЬНДУ спирта из пищевого сырья *"•

Бадка >J|

Ликероводочны* изделия ::„„.,|

Вмна .; ;|Коньяки 1

-— 1

jjjj Справочник Код_.

Для получения подсказки нажмите F1 [ JNUM jf А: 04,07,04 00;00;00 [БЙ; 3 квартал 2004 г. ;ТП: -т~--

Рис. 8.12. Справочник Коды бюджетной классификации,перенесенный в учебную конфигурацию

8.3.2. Копирование справочниковиз другой конфигурацииРассмотрим иную ситуацию. Например, существует рабочая (в нашем случаеучебная) конфигурация и ее пустая копия, т. е. только объекты метаданных,без пользовательских записей. Чтобы перенести справочники Номенклатура,Контрагенты и др. из рабочей конфигурации в пустую, нужно повторитьшаги 7 и 8 предыдущего примера. При этом помните, что вы ищете файлнужного вам справочника, а не то название, что указано в книге (оно доста-точно условно).

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

Шаг 10. Удалите в папке с базой данных учебной конфигурации все файлыс расширением cdx.

Page 145: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 139

Шаг 11. Запустите учебную конфигурацию в пользовательском режиме. По-сле переиндексации вы увидите уже заполненный справочник с данными.

На компакт-дисках ИТС (Информационно-технологического сопровожде-ния), которые поставляются фирмой "1C" официальным пользователямпрограммы по подписке, предлагается универсальная (т. е. работающаяв любой конфигурации) обработка, которая позволяет выгружать в тексто-вый формат структуру и содержимое выбранных справочников. А такжезаполнять справочники данными из текстового файла. Обработка позволя-ет переносить данные из разных конфигураций и справочников. При этомсоответствие реквизитов справочников и режим загрузки устанавливаетсяпользователем (рис. 8.13).

Файл Действия Операции Справочники Документы-Торговьи Документы-Бухгалт Журналы Отчеты „Торговые Отчвты_Бухгалтврские

Сервис Окна Помощь - " • • : ' . ' " " . " • ' • •"• . • . ' • . • • - . &

Выгружа/загр...

получения подсказки нажмите F1 . [ JNUM if А: 04.07,04

Пуск| $> & *> О) Pant Shop Pro | Д z Mcrosoft... *\

.,•;•;':'|ВЙ:"Э квартал 2004"гГ" [ТП:

1СЛ7star...- ^Безьиянный*.'.уj IcoreiDRAW 10...

Рис. 8.13. Выгрузка справочника Номенклатура из произвольной конфигурациис помощью универсальной обработки

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

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

Page 146: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

140 Глава 8

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

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

Jtf ft i f

-lalxif

^ExtFormsC|NEW_STRUQSVSLOG

L3Tabb^usrdef

Ы expoIjj ProtokolHomIfj ProtokoHomUsI(3 PrototolKont13 ProtokolKontBankfTi Prntnkn^S

Имя Файла: |

Тип Файлов: | Файл для загрузкмГ txl)

jNUM [ГА: 04.07.0^ 00:00:00 ;ВИ: Э квартал 2004

Mcrptoft... T|fez IC:V7star_.- У Рис6_13-Ра1Ы | QjCorelDP.AW:iO..

Рис. 8.14. Загрузка данных в учебную конфигурациюс помощью универсальной обработки

Подробное описание работы с этой обработкой можно найти на диске ИТС(выпуска февраля 2002 г.).

i

Page 147: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 141

8.4. Загрузка данных в "1С:Предприятие"из Microsoft ExcelСистема программ "1С:Предприятие" является открытой. Для связи с други-ми программами могут использоваться встроенные средства загрузки-выгрузки информации в текстовом формате и формате DBF, система под-держивает современные стандарты интеграции программ: DDE, OLE Auto-mation. Одним из примеров использования этих возможностей может слу-жить организация работы "1С:Предприятие" с распространенной системойэлектронных таблиц Microsoft Excel.

В учебной конфигурации пример для изучения данного раздела — документПриходная накладная, кнопка Загрузка из Excel. Файл примера в MicrosoftExcel — ЗагрузкаНакл-xls.

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

П поступление от поставщиков качественно распечатанных приходных на-кладных;

П наличие сканера;

П наличие установленной программы распознавания текста Fine Reader v. 4.5или аналогичной;

П наличие установленной программы MS Excel 97 или более новой.

Рассмотрим алгоритм загрузки данных из файла электронных таблиц MSExcel в документ Приходная накладная.

Реквизит документа Товар имеет тип значения Справочник.Номенклатура.Поэтому при загрузке колонки накладной с наименованием товара нужнопроверить, есть ли этот товар в справочнике Номенклатура. Если его нет, тодобавить в этот справочник. Из справочника номенклатуры товар, соответ-ствующий наименованию в приходной накладной, должен загрузиться в эк-ранную форму документа Приходная накладная. Значения реквизитов Цена,Количество, Сумма и др. должны загружаться непосредственно из соответ-ствующих колонок электронных таблиц. Загрузка номера и даты документане нужна — в "Ю.Предприятие" свой порядковый номер и дата ввода доку-мента, а также итоговые значения. Загрузку наименования поставщика про-пустим для упрощения примера.

Приходную накладную необходимо сканировать с распознаванием и по-местить документ в лист рабочей книги Microsoft Excel и сохранить его(рис. 8.15).

6 Зак. 585

Page 148: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

142 Глава 8

Sj £atii ppwKd В^Д : Вст ка

j.U 5*ИЙИ<ва'И- 10 - Ж К Ц'

A ; В I: • С ' I 0Расходная накладная № 1 от'30 11.02 '

:'Клиент: Альфа- Ромео

№12

ТоварТелевизорХолодиль

Цена4000030000

Количество51

Сумма200000

30000

Ставка НДС1616

НДС27686 21413793

Итого : 6 Итого: 230000в'том числе НДС: 31724.14

Рис. 8.15. Лист Microsoft Excel с накладной

В "1C:Предприятие" формируется механизм загрузки данных из файлаMicrosoft Excel! Для этого в модуль формы документа Приходная накладнаядобавляется ряд процедур и функций (все изменения выполняются на ко-пии информационной базы!).

В модуль формы документа добавляем переменные имяФайла и Имякаталога.Область использования этих переменных — весь модуль формы, поэтому,в соответствии с правилами написания программных модулей, эти перемен-ные должны объявляться в первой строке модуля (рис. 8.16):Перем ИмяФайла, ИмяКаталога;

Мы не будем описывать здесь операторы процедуры — их можно посмот-реть в синтакс-помощнике либо в документации. Смысл же процедуры —организовать диалог для поиска файла Microsoft Excel, из которого будетпроизводиться загрузка в приходную накладную. Имя указанного в диалогефайла и будет помещено в переменную имяФайла.

Процедура Загрузка () осуществляет непосредственно перенос значений изMicrosoft Excel в документ Приходная накладная. Так как наименованиетовара будет первоначально записываться (или проверяться на наличие)

Page 149: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 143

в справочнике Номенклатура, в процедуре создается объект языкаСправочник, номенклатура. Далее необходимо создать объект языкаExcel.Application (листинг 8.1). При работе с этим объектом используютсяоператоры языка Visual Basic for Applications (VBA), на котором пишутсяприложения в Microsoft Excel.

Перем ИмяФайла, ИмяКаталога

Конфк-урвиип Конструкторы Администрирование Сервис Она Помощь

ИияКаиало

ПриОахрнжшд С 1ПриЗаписиПерепроеодш» •; 1 )

Процедура ЗаиросКоличеслблВПодБоре(ВыБ) // ишпвракжибно бьюквАляем iЕсли u,iS ПонешкаВдалемия( )"1 Тогда /-'повар помечай на удаление

Предупреждениес"Нельзя выБирахь помеченные на удаление вовары!">;Всзврап; ^/преяра«аем ра5о»у процедурь!

КонечЕслу.Кол*1;/хОВъябили переменную для Ввода количества и присвоили ей знач-Если БйесжиЧислс(Кол,"Вввдиие количество",10,0)"1 Тогда

НоввяС»рока( > • /•' goSae-ляеп строку е йвБличиз» частьТо6ар=Вы5_ x/Tousp чэ Е1ыБ 6 добавленную строку

Количесжбо'Колт.'/Каличвствс,- луде ;ке

едд рм

Прсцедчра УслвиЦвныПрих (Ценв-Товвр.Цена- "-'•-'ЦеиСла&каНДС -Т

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

Кс.жгя Ирилч^Ч Ч f.

ЭЧра ОБраЕожкаПодБораiEbi61 / / Э л е

-АклибизчрсэбатьСтрокд!

Для получений подсказки нажмите F.I,,

.., j В} 10Гпма8^М1...

' СТАТУС: БД, Док ут*ент

Рис. 8.16. Объявление переменных модуля формы

Процедура Загрузка()

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

ВыбратьФайл(); //найдем файл с докумен-том Microsoft Excel

Ехсе1=СоздатьОбъект("Excel.Application"); //создадим объект - ра-бочая книга Excel

РабочаяКнига=Ехсе1.Workbooks;

Page 150: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

144 Глава 8

РабочаяКнига.Ореп(ИмяФайла,0,1); //откроем рабочую книгу - выбранныйфайл Excel

i-1; //с 7 строки начинаются данные в документе Microsoft Excel

'

Стр=(СокрЛП(Строка(ПолучитьЗначение(Excel,1,1))));

Пока ПустаяСтрока(Стр)=0 Цикл //поканепустые ячейки в строках — загружаем

Стр=(СокрЛП(Строка(ПолучитьЗначение(Excel,1,1))));

Если ПустаяСтрока(Стр)=1 Then //пустая ячейка - конецзагрузки

Сообщить("Загрузка закончена","i");

Прервать;

КонецЕсли;

Для лучшего понимания опишем ключевые моменты алгоритма.

Переменной i присваивается значение 7, так как именно с седьмой строкиначинаются данные, которые необходимо зафузить в "1С:Предприятие". Еслив вашем случае номер строки листа Microsoft Excel иной, переменной 1присвойте соответствующее значение.

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

КонецЦикла;

Для инициализации названных переменных напишем процедуру выбрать Файл о(листинг 8.2). Процедура предназначена для открытия стандартного диалогаWindows для выбора файла определенного вида.

Процедура ВыбратьФайл()

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

Если Файл.ВыбратьФайл(0, ИмяФайла, ИмяКаталога,

"Выберите файл, содержащий накладную",

"Файлы Microsoft Excel|*.xls|Все файлы I*.*", "xls")ol Тогда Возврат;КонецЕсли;

ИмяФайла=ИмяКаталога+ИмяФайла;

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

Page 151: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 145

Далее следует написать функцию, которая позволяет получать значения от-дельной ячейки листа Microsoft Excel с использованием языка программиро-вания VBA:

Функция ПолучитьЗначение(Excel,у,х)

Cell=Excel.Cells(у, х) ;

Возврат Cell.Value;

КонецФункции

Это стандартная функция, которую можно применять в любой программе,осуществляющей загрузку данных из Microsoft Excel. В соответствии с пра-вилами написания модуля эта функция должна располагаться перед про-цедурой Загрузка() .

Обратите внимание, что значения ячейки листа Microsoft Excel мы получаемпри помощи описанной в предыдущем шаге функции получить Значение ( ) .

Далее внутри цикла проверяется, имеется ли товар, загруженный из листаMicrosoft Excel, в справочнике Номенклатура. Если такого товара нет,он записывается в справочник. Затем этот товар сопоставляется реквизитуТовар документа Приходная накладная.

НоваяСтрока(); //_ _Добавляем строку в приходную накладную

НомерСтроки=Стр;

ТоварСпр=(СокрЛП(Строка(ПолучитьЗначение(Excel,1,2))));

Если Спр.НайтиПоНаименованию(ТоварСпр,0)=0 Тогда //Если товара

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

Спр.Новый(); //тогда занесем его туда

Спр.Наименование=(СокрЛП(Строка(ПолучитьЗначение(Excel,1,2))));

Спр.Себестоимость=Число(ПолучитьЗначение(Ехсе1,1,3));

Спр.СтавкаНДС=Число(ПолучитьЗначение(Excel,1,6));

КонецЕсли;

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

Спр.НайтиПоНаименованию(ТоварСпр,0); //теперь найдем товар из. Excel

уже в справочнике Номенклатура

тов=Спр.Наименование;

Товар=Спр.ТекущийЭлемент(); //и внесем его в строку приход-

ной накладной

Page 152: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

146 Глава 8

Значения остальных реквизитов документа Приходная накладная загружа-ются непосредственно из соответствующих ячеек листа Microsoft Excel с ис-пользованием системных функций преобразования типов данных:

Цена=Число(ПолучитьЗначение(Excel,i,3));Excel и других колонок

Количество=Число(ПолучитьЗначение(Excel,i,4));

Сумма=Число(ПолучитьЗначение(Excel ,1,5));

СтавкаНДС=Число(ПолучитьЗначение(Excel,i,6));

НДС=Число(ПолучитьЗначение(Excel,i,7));

//организуем ввод из

КонецЦикла;

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

Добавим в экранную форму документа Приходная накладная кнопку Загрузкаиз Excel. He забудьте в палитре свойств кнопки, во вкладке Дополнительно,в поле Формула указать ссылку на процедуру Загрузка о (рис. 8.17).

т т и ш и .

Вставить Конфигурация Конструкторы Администрирование Сервис Окна Помощь

та 1вна включает

V • .

-<!•

То»«р Цена Кмичё... £•• ,1*|•""Г

• . ,

ip_Э«дрйп>^ Падбор I Шчать } j ЭуруакаиэЕмсс! |

Общие 1 Дополнительно] Команда] Картинка] Описание}

Заголовок: : jЗагрузка из Excel

Идентификатор; J

Г™ Сделать нвдоступньмГ~" Сделать невидимымГ Эепр^^4?ед»йирорй

-4Ш4-JLJ—J

ОК |

raeHa J

Обновить ]

Для получения подсказки нажмите Fi

nvocj jfru) "|^2>C:V7st- т

. | JNUM 71 х н |254, 165 ;СТАТУС БД, Документ

Z Microsoft... '| f Рис8,16- Paint | Qj CorelDRAW 10 j Щ |« И g 17:45

Рис. 8.17. Интерфейс для вызова процедуры загрузки данных из Microsoft Excel

Page 153: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 147

Конечно, в данном примере отсутствует целый ряд полезных сервисныхфункций. Например, проверка, помечен ли товар в справочнике Номенкла-тура на удаление, и обработка этой ситуации, интерактивная настройка за-грузки данных из ячеек Microsoft Excel и многое другое. Однако мы созна-тельно пропустили эти детали, чтобы сделать задачу более понятной. Крометого, в частном случае при настройке конкретного предприятия можнообойтись и без этих сервисных функций.

Если все сделано правильно, то при запуске конфигурации в пользователь-ском режиме при нажатии кнопки Загрузка из Excel приходная накладная исправочник номенклатуры должны автоматически заполниться (рис. 8.18).

Файл Действия Оперший Справочники Документы Сервис Окна Помощь

о в* в ; >; ч» т{о.т \т у•с.*Г~~=~.

Приходная

ПОСТ4МЦИК| . . ' . . . . . LSI Цена включает

JOQOO.QO

30000.00

Загрузка закончена

[ТА;01.0К02 00:00:00 риГз квартал 2004 г.

Рис. 8.18. Загрузка документа из Microsoft Excel в пользовательском режиме

8.5. Экспорт данных из "1С:Предприятие"в Microsoft ExcelВ данном разделе мы разберем противоположный случай — экспорта дан-ных из "1С:Предприятие" в Microsoft Excel для последующего анализа.

Page 154: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

148 Глава 8

Не секрет, что возможности управленческого учета, анализа и прогноза дея-тельности предприятия в стандартных конфигурациях "1С:Предприятие"невелики. Не отличаются разнообразием и средства визуализации информа-ции: представление в виде диаграмм, интерактивная и программная воз-можность изменения типа диаграмм и выборки данных. Еще раз отметим,что "1С:Предприятие" — система для учета, а не для анализа. Компенсиро-вать этот недостаток можно с помощью Microsoft Excel, используя механизмOLE Automation.

Учитывая, что наша конфигурация очень простая, мы не сможем рассчиты-вать сложные управленческие задачи. Решим простой пример экспортаданных о продаже товаров в Microsoft Excel. Хочу отметить, что, имея эле-ментарные знания по составлению запросов в "1 (^Предприятие", данныйпример можно использовать в любых конфигурациях для решения анало-гичных задач. Если же вы научитесь работать со специфическими объектамиметаданных компонент "Оперативный учет" и "Бухгалтерский учет" — пла-ном счетов, операциями, проводками, регистрами, то использовать изучае-мый здесь механизм можно будет с очень высокой эффективностью. Фактиче-ски "1C: Предприятие" будет использоваться по своему прямому назначению —учету и поставке результатов учета в аналитическую профамму Microsoft Excel,с помощью которой производится дальнейшая обработка информации.

Примечание ^

В учебной конфигурации пример для изучения данного раздела — отчет Рас-ход ТовараЕксел.

В режиме конфигуратора создадим простой внешний отчет (см. гл. 6). Един-ственное отличие — на первом шаге работы конструктора отчета поставьтепереключатель в положение Внешний отчет (рис. 8.19). С помощью конст-руктора запросов создадим запрос на выборку данных из документов Рас-ходная накладная в процедуре сформировать ( ) :

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

Перем Запрос, ТекстЗапроса, Таб;

//Создание объекта типа Запрос

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

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

"//{{ЗАПРОС(Сформировать)

(Период с ВыбНачПериода по ВыбКонПериода;

|ОбрабатыватьДокументы все;

Page 155: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 149

]Обрабатывать НеПомеченныеНаУдаление;

I Товар = Документ.РасхНакл.Товар;

(Количество = Документ.РасхНакл.Количество;

I Сумма = Документ.РасхНакл.Сумма;

IФункция КоличествоСумма = Сумма(Количество);

(Функция СуммаСумма = Сумма(Сумма);

Группировка Месяц;

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

Р//П ЗАПРОС

//Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;• ,

//Подготовка к заполнению выходных форм данными запроса

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

Таб.ИсходнаяТаблица("Сформировать1");

//Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок");

Состояние("Заполнение выходной таблицы...");

Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);

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

//Заполнение полей Месяц

Таб.ВывестиСекцию("Месяц");

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

//Заполнение полей Товар

Таб.ВывестиСекцию("Товар");

КонецЦикла;

КонецЦикла;

//Заполнение полей "Итого"

Таб.ВывестиСекцию("Итого");

//Вывод заполненной формы

Таб.ТолькоПросмотр(1);

Таб.Показать("Сформировать1", "");

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

Page 156: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

150 Глава 8

j о£ У . Ча f . : (И

'*.:Г,'«^й *.в !

й ft ri ; «I» *•: И J:; i-l :i Ш .я .'• "S^Конфигурация |[3«орма-Отчет.РасмодТ„

I <1K i e I» * fi г» С Г «N П ; f6- ; •" i -.'>

я получения подо*

-з!;Пуск] .. .| Й^КПрелприяти... }

:70х8 • :15,31 1СТДТУС: БД , Документ

l-.,i|: Pnca_]S-Paifit | Щ: Щ|у j« 17:43

Рис. 8.19. Отчет для экспорта данных в Microsoft Excel,созданный с помощью конструктора

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

Начинаем работать с Microsoft Excel. Создадим объектную переменную дляработы с книгой Excel и установим параметры книги:

//Создадим объект Excel

Excel = СоздатьОбъект("Excel.Application");

//Ограничим книгу Excel одним листом

Excel.SheetsInNewWorkbook = 1;

//Установим заголовок книги

Excel.Caption = "Отчет по продажам";

//Создадим новую рабочую книгу

NewBook = Excel.Workbooks.Add;

Page 157: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 151

Озаглавим столбцы листа Microsoft Excel, в которые предполагается переда-вать данные. Для этого создадим объект типа Список значений и внесемв него наименования столбцов. Затем с помощью цикла перенесем названиястолбцов из списка значений в первую строку листа рабочей книги MicrosoftExcel (рис. 8.20) (листинг 8.8).

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

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

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

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

СписокСтолбцов.ДобавитьЗначение("На сумму");

//Заполним наименование столбцов:

Для Столбец = 1 По СписокСтолбцов.РазмерСписка() Цикл

Ячейка = Excel.Cells(1,Столбец);

Ячейка.Value = СписокСтолбцов.ПолучитьЗначение (.Столбец)

КонецЦикла;

• •-? .'-• • ••' •! % z • 4» 81 О

s 85 аз а;ш на@;Ш «к лЖ К 3 1 3 :

1 (Товар Месяц Продано товара На сумму

jMJM

Рис. 8.20. Результат работы фрагментов программы

Page 158: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

152 Глава 8

Теперь организуем вывод данных по месяцам. В данном фрагменте про-граммы обратите внимание на заполнение ячеек таблицы Microsoft Excel:

НомерСтроки=1;

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

//Заполнение полей Товар

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

Товар = Запрос.ЗначениеУпорядочивания(2); //(1)

Месяц = Запрос.Месяц;

КоличествоСумма= Запрос.КоличествоСумма;

СуммаСумма = Запрос.СуммаСумма;

НомерСтроки = НомерСтроки + 1;

//Организум заполнение ячеек Excel

Для Ст = 1 По СписокСтолбцов.РазмерСписка() Цикл

Ячейка = Excel.Cells(НомерСтроки,Ст);

Если Ст = 1 Тогда

Ячейка.Value = Товар;

ИначеЕсли Ст = 2 Тогда

Ячейка.Value = Строка(Месяц);

ИначеЕсли Ст = 3 Тогда

Ячейка.Value = КоличествоСумма;

ИначеЕсли. Ст = 4 Тогда

Ячейка.Value = СуммаСумма;\

КонецЕсли;

КонецЦикла;

КонецЦикла;

КонецЦикла;

Удалим те строки программы, с помощью которых осуществлялся выводданных в табличную форму отчета "1С:Предприятие". Они больше не нуж-ны, а скорость работы программы увеличится. В окончательном виде текстпроцедуры представлен в листинге 8.10. В результате данные из расходныхнакладных помещены в таблицу MS Excel (рис. 8.21).

Page 159: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 153

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

Перем Запрос, ТекетЗапроса, Таб;

//Создадим объект Excel

Excel = СоздатьОбъект ("Excel .Application"),-

//Ограничим книгу Excel одним листом

Excel.SheetsInNewWorkbook = 1;

//Установим заголовок книги

Excel.Caption = "Отчет по товарным запасам";

//Создадим новую рабочую книгу

NewBook = Excel .Workbooks.Add;

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

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

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

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

СписокСтолбцов.ДобавитьЗначение("На сумму");

//Заполним наименование столбцов: товар, месяц и т.п.

Для Столбец = 1 По СписокСтолбцов.РазмерСписка() Цикл

Ячейка = Excel.Cells(1,Столбец);

Ячейка.Value = СписокСтолбцов.ПолучитьЗначение(Столбец);

КонецЦикла;

//Создание объекта типа Запрос

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

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

"//{{ЗАПРОС(Сформировать)

(Период с ВыбНачПериода по ВыбКонПериода;од, внутри которого строится отчет

IОбрабатыватьДокументы все;

I Обрабатывать НеПомеченныеНаУделение;

I Товар = Документ.РасхНакл.Товар;

I Количество = Документ.РасхНакл.Количество

I Сумма = Документ.РасхНакл.Сумма;ставлен товар

(Функция КоличествоСумма = Сумма(Количество); //суммируем для подэто-гов и итогов

[Функция СуммаСумма = Сумма(Сумма);

(Группировка Месяц;

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

//указываем временной пери-

//используются все документы

//кроме помеченных на удаление

//как и информация о товаре

; I/O количестве товара

//и сумме, на которую по-

Page 160: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

154 Глава 8

Г//ПЗАПРОС

//Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

//Подготовка к заполнению выходных форм данными запроса

Состояние("Заполнение выходной таблицы...");

НомерСтроки=1;

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

//Заполнение полей Товар

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

Товар = Запрос.ЗначениеУпорядочивания(2); //(1)

Месяц = Запрос.Месяц;

КоличествоСумма= Запрос.КоличествоСумма;

СуммаСумма = Запрос.СуммаСумма;

НомерСтроки = НомерСтроки + 1;

//Организуй заполнение ячеек Excel

Для Ст. = 1 По СписокСтолбцов.РазмерСписка() Цикл

Ячейка = Excel.Cells(НомерСтроки, Ст);

Если Ст = 1 Тогда

Ячейка. Value = Товар;

ИначеЕсли Ст =• 2 Тогда

Ячейка.Value = Строка(Месяц);

ИначеЕсли Ст = 3 Тогда

Ячейка.Value = КоличествоСумма;

ИначеЕсли Ст = 4 Тогда

Ячейка.Value = СуммаСумма;

КонецЕсли;

КонецЦикла;

КонецЦикла;

КонецЦикла;

Excel.Visible = 1;

Excel = 0;

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

Page 161: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Некоторые дополнительные сведения 155

Е8 * • : • • • ',•."*'

Данные: • £ROMT ' QKHO £лрлвка

.т Л Л = И, -и 100% Т Ш - ' AfWCyr

^ Я Н В Я ' Ш Э И В ^ З Ш ^ Б Ш Ш ; !

21~~~~~* - L :..!..„,:;..!.., ,с !;.,_.р_ ^_Е^1 ;Тоеар Месяц Продано товара .На сумму]2 Телевизор "Samsung" Февраль 03 i j ] 20000

ЩТалевиэор'Загпбипд'^'М^М^ЗГ^^Т1Холодш1ьник Май 04 I 1] 3000;

5";

Н

.J Щ

Рис. 8.21. Лист Microsoft Excel с данными "1С:Предприятие"

Обратите внимание на две последние строки процедуры. КомандаExcel.Visible = 1;

делает окно электронных таблиц видимым и активным. КомандаExcel = 0;

освобождает оперативную память компьютера, которая резервировалась дляобъектной переменной Excel.

В заключение хотелось бы обратить внимание на следующие моменты: не-подготовленного пользователя не должно пугать большое количество строккода программы. Значительная часть работы выполняется системой"ЮПредприятие" автоматически, с помощью конструкторов в конфигура-торе. Использование набора относительно простых отчетов для вывода ин-формации в Microsoft Excel позволяет использовать все богатство аналити-ческих инструментов и без особых финансовых затрат иметь эффективныйбизнес-анализ.

Page 162: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих
Page 163: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Глава 9

Примеры конфигураций,написанных на базовых объектах

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

9.2. Конфигурация Интернет-поддержкаЭта небольшая конфигурация предназначена для быстрого обращения к ре-сурсам сети Интернет прямо из системы "1С:Предприятие". По сути, это аналогпапки Избранное (Favorites) в браузерах. Конфигурация может использоватьсякак отдельно, так и включаться в любую пользовательскую. Отличительная осо-бенность — возможность автоматической загрузки Web-адресов из папки Из-бранное. Мысль о написании данной конфигурации пришла автору в связис тем, что в процессе разработки приходилось часто обращаться к специализи-рованным ресурсам сети, а это занимало достаточно времени.

Ранее мы знакомились с совместной работой системы "1С:Предприятие" иMS Excel. В данной конфигурации приводится пример работы с загрузкойинформации из текстовых файлов.

Состав конфигурации:

П справочник Интернет, содержащий Web-адреса;

П обработка Интернет, содержащая информацию для пользователя и кноп-ку для открытия справочника Web-адреса;

П внешний отчет IntText, предназначенный для автоматической загрузки ли-бо очистки справочника.

Page 164: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

158 Глава 9

Файл Правка Вид Избранное

Адрес: |_K:\WtNDOWS\syrt*m32\C

Пагжи ' X

•: ^J miagort .*

•*! i msapOT

О "Ч

*i itf Off Nne Wob Pages

" ~ • - '

+• j Regstration

'«I i_i Resources

:*; i MCirtv

S§!wel)2

IE 1&> 10*2

CJ 1049

"Сервис" • ' Справка . . . . . ' ' . ' .' • • • . . • : . . •. : • • . • . • . ' . • • $?•

ог*ч\)Уй«ч»юНв j ^3 Пвракод

Пня * ' . • • : ' ' ' - • Г Р*зпвр| Тип ! Ииюмвв . | . • . • • - . ' ' ' ' . ' • • ' ' • "...'... :. ' ' - ' __

||;ДМ*с*{юпС1а<* Папка файлами .06.2003 8:4

•-•.„jl«*l Settings Пека файланн .06.2003 8:4

Ь ..jNetHood Пагка файлами .06.2003 8:4

. ..PwXHood Папка файлами .06.2003 8:4

Recert Пагка файлами .06.2003 8:4

: 'SendTo Пагка фанлапн .06.2003 8:4'

:„^гпавпоем«нк1 Пагка фаЙланп .06.2003 8:4

С)Ц32Н1Э Натка фанланп ,U6.2UQJ 8:4

• i Mon документы Папка файлами .06.2003 8:4

ОРабо4<йстол Папка файлами .06.2003 8:4

• ...Шаблоны Папка файлами .06.2003 8;4

U 2052 ^Д

*ei-ppm»«

* О «ftw*

№ С J C«tRoot2

•Jf J*asJi3>*u -iu«*i«nprofite ОГп—?; •' • J и^*»тыа„1 ^конфигуратор.;.) V^.l'-P-"' Й££*£2*| \ Ш\ ©| Т :« К 11Л1

Рис. 9.1. Расположение папки Избранное

Правка1 Вид Избрлмбе Св(«ис Справка

УПРАВ ПЕНИЕ 3000

£3 Попек

£1 понос завершен, однаков следуют™! раз

Обноаттыммск к_

£| Измннть имя файла ипи

Поиск • других пестах

Рис. 9.2. Адреса в папке Избранное

Page 165: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Примеры конфигураций, написанных на базовых объектах 159

ачил действия Оперении Интернет С«яис Окне

1о^ш.|"^':'ь:'|й^.^..^:^.г'':

Рис. 9.3. Внешний отчет IntText

Рис. 9.4. Информация о ходе загрузки файлов

Page 166: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

160 Глава 9

Порядок работы с конфигурацией.

Шаг 1. Предположим, что вы решили внести в справочник Интернет собст-венные Web-адреса. Найдите на своем компьютере папку Избранное. Ско-рее всего, она находится в папке Windows на диске с файлами операцион-ной системы (рис. 9.1). Во избежание досадных случайностей, скопируйте еев какую-нибудь специально созданную папку или в папку ExtForms каталогаэтой конфигурации. Откройте папку. В ней содержатся Web-адреса. Есликакие-то адреса не нужны для работы в конфигурации "1С:Предприятие",можете сразу удалить их (рис. 9.2). Эти адреса, на самом деле, представляютсобой обычные текстовые файлы, с которыми можно работать при помощисредств встроенного языка "1С:Предприятие".

Шаг 2. В пользовательском режиме в меню Файл | Открыть в папкеExtForms откройте внешний отчет IntText.ert (рис. 9.3). Очистите справоч-ник, нажав на кнопку Очистить.

Шаг 3. С помощью кнопки Выбор каталога укажите путь к файлам папкиИзбранное. Необходимо открыть папку и щелкнуть на имени какого-либоиз файлов (см. рис. 9.3). Теперь нажмите кнопку Загрузить, и файлы изпапки Избранное попадут в справочник Интернет. Обратите внимание надополнительные средства, позволяющие контролировать ход загрузки. Дан-ные о загрузке пишутся в окне сообщений. Кроме того, в форме отчета су-ществует строка, показывающая ход загрузки в процентах. Об окончаниизагрузки сигнализирует слово "ГОТОВО!" (рис. 9.4). Конечно, без всегоэтого можно и обойтись. Но подобный сервис необходим при длительныхпроцессах обработки данных, для наглядности процесса. Кстати, код этойпроцедуры свободно доступен в сети Интернет.

Шаг 4. Закрыть отчет. В меню выбрать Интернет. Откроется окно преду-преждения о необходимости иметь Web-браузер на компьютере, с которогозапускается программа. Нажмите кнопку Открыть. Откроется форма спра-вочника для выбора адреса. Щелкните по выбранной строке, и автоматиче-ски запустится браузер (рис. 9.5).

Предупреждение

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

Page 167: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Примеры конфигураций, написанных на базовых объектах 161

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

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

В предлагаемом примере собрано более 40 ссылок на популярные Web-ресурсы. Не все эти ссылки работают в настоящее время. Пополнять и ис-правлять список автор предлагает самим пользователям. Для более полно-ценного использования данной конфигурации можно создать и процедуруавтоматической выгрузки справочника Интернет в папку Избранное.

Рис. 9.5. Выбор Web-ресурса в конфигурации

Шаг 5. Форма справочника для выбора содержит два поля: название сайта ипроизвольное — описание сайта, которое делает сам пользователь, длябольшего удобства. Это поле заполняется в стандартной форме списка спра-вочника, которую можно открыть в пользовательском режиме через менюОперации | Справочники. В данном режиме доступно три поля: Наименова-ние, Описание, которое заполняется вручную, и Адрес, которое заполняется

Page 168: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

162 Глава 9

автоматически и содержит непосредственно адрес сайта. Помимо заполне-ния поля Описание, в этой форме справочника можно также и произвестиочистку справочника (рис. 9.6).

[Файл Действия Операции Интернет Сервис Окна Помощь

of К • X

a jj а м з. $ :£ «;. if» & JB it a v • • ••

• v. . . : . - ' . • ; • • . • ; : , / ' . •:* -JJ "Ч-"

]VI

i|

t|

1lV)

«J

Пельам«т*ляынгфогр«нннст1н ' . •••• . ' '

Кн орнмнонны* ттюлогш « бизн*е* uri :

CHH.PEBPAQE.url ' • • • . • • - . . .

icciub • «пи noi4M*aT*n*S [фрукта* е*м«нот>* 1C (ivMrfHin- .

J ^

ifl подскажи нажмите F1

ШПредпоиягш - Ин..,.. Д Рисунки

"" $JM ;IA:"oi ,Ol'.Q2 '00:00:00 SMi 2 квартал 20<Й г

»a 9-Microsoft W.,. j }j- Рис9_^ - Pdnt j

Рис. 9.6. Форма списка справочника Интернет

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

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

Page 169: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Примеры конфигураций, написанных на базовых объектах 163

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

9.3. Конфигурация Учет абонентской платыАлгоритм настройки позволяет осуществлять прием самых разных абонентскихплатежей: от платы за электроэнергию до платы за кабельное телевидение. Мыподробно рассмотрим версию, внедренную на одном из предприятий. Это учетабонентской платы за отопление и снабжение квартиросъемщиков горячей во-дой. Абонентский отдел рассчитывает платежи за услуги для нескольких Коопе-ративов Собственников Квартир (КСК).

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

Производится автоматическая распечатка квитанций (Счет-извещение иСчет-квитанция), которая возможна как для всех квартиросъемщиков, так ипо участкам, и индивидуально для каждого квартиросъемщика в отдельно-сти. Поддерживается корректировка начисления.

При необходимости можно получать основные отчеты по начислению:

П оборотные ведомости по отдельному участку в разрезе лицевых счетов;

П оборотные ведомости по КСК в разрезе лицевых счетов;

О краткую оборотную ведомость по КСК;

П оборотную ведомость об оплате коммунальных услуг на текущее числорабочего месяца;

П сведения об оплате коммунальных услуг и долгах (переплатах) любогоквартиросъемщика по выбору;

П карточка квартиросъемщика — сведения об оплате услуг за определен-ный период (сличительная ведомость).

Дополнительные отчеты с возможностью сортировки по участкам:

П список квартиросъемщиков;

П список должников за коммунальные услуги.

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

Page 170: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

164 Глава 9

Файл Действий Операции Справоч»»жи Документы Журналы От^ты Настройка Контроль Сервис Окна Помощь

; :U'S*B * fee --^'. Ж а «:»»Г~ ""IDS*;1? ;js.s]p:n мЗп & f Ей) ЁЗ i& Ш CD Q • - : . ' Э • •- ®

Scnpaeo**»; Тарифы (16-. .. Справочник: Жильцы („.

Для получений подскажи нажмите Ft

i/ Пуг.к) £> •& tf5 ** ^Конфигуратор- A6.,.|jtlX ЮПред прият не .. i Kypc

i ;NUM tAi'oi'.Ol.ob 00:00:00" "

j йГл*ва9-Маоя»...| \ PK9J - PaUt j ЕЙ : ( Г ? ! * *J fi 8:02

Рис. 9.7. Экранные формы справочников Тарифы и Жильцы

Работа с настройкой начинается с заполнения основных справочников:Тарифы и Жильцы (рис. 9.7).

При нажатии кнопки Печать получаем дополнительный отчет Списокжильцов КСК, сортированный по лицевым счетам. Если отмечена опцияСортировать по участку, список жильцов будет отсортирован по участкам.

Долги потребителей за коммунальные услуги рассчитываются и хранятся в спра-вочнике Долги. Справочник Долги заполняется автоматически во время ра-боты программы (рис. 9.8 и 9.9).

Для начисления ежемесячной платы за коммунальные услуги используетсядокумент Оплата коммунальных услуг (рис. 9.10). В табличной части доку-мента при первом заполнении заполняются поля Дата платежа, Оплата...(Оплата услуг потребителем) и Долг... (Долг за услугу потребителя). Осталь-ные поля заполняются автоматически. При дальнейшей работе поля Долг...также заполняются автоматически.

У потребителей, имеющих индивидуальные приборы учета (счетчики), на-числение не производится. Сумму начислений проставляет оператор из сче-та-квитанции квартиросъемщика.

Page 171: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Примеры конфигураций, написанных на базовых объектах 165

Э Файл Действия Операции Спрвеочитн Документы

Ли вей. * ш' в • .я- •;• : =* I к йГ;)* <а а. чн в а в а в в га ;з ивЬвлд.в-'а 4;-Чйй:й1(« а&с

£ pinH

гяВт

яяяи

!?

шт

Til

US

Ш4

sibi*эо

лэ*из*

^

"S|qggia.|:

к™л~,гк

£»пмтго*тУ:

^ "Й»я.|~ЁС

g^^gg

'КмСнамж'с

вГ т.ВщспыНА

«-BttS*. .

%£Z1" —

"™^"нМ;

ЙП «Е*

^ -5 -Му<»я*н,)»М.Б

С.М.ВМ. ».

Ir^^MCMБур.". Л

Жувнвлы Отчеты. Настройке' Контроль. Сервис

~~ U и "« ' t : Я к| ?>'?» » г

а-.! .~

нш!~

гта

l jвешвЙТ1Й

§F

НТ17П

25.1201

ififsrЙ1Ш

гшоГ' ' '

Jt.tt-OI

l«uoi

ill*

J571W

ixm»

1Ш5

Uiiio

вэт

5П5

ш

__

Итого по Гор. 31323.4! Итоге по 10375}.! Итого m

ЗГгугпгггт-Лгг.г'-!"-

ля получения подсказки налгите И ' "- ' ' •"'.• ' . , ' ' •' . '.' '..

$; Пуск] (£J * •*¥ Кон1«-уР.тсР-Д6...Л ]С-Предприят«... UK1PC

Д*"«Г» -^:

««

*НЯ

яш__

За.м

иг

, 511!

1 5Ш

ш

°?"

гм

Нмзэ

Ш8«

iHill

!.»№И

• • • tlo^5

шьй£%

i7io«S!!!*!

2.627.К

Окне Псмшш' • . . . I д t х:

|щ ! м м* м- j

д*"°**"

«И

ийS1»

гпм

Wsww?li

53«

!!!£

эдгз!115

Я

"*"**

0

' " '"<MUM ;ТД. Ctl'.Ql.bQ 00:t)0:00 Ы: 2 квартал i004 r.

я!«

iosw

~

tut

iwo«.»

1 и»

UN

пш

g

1Шммшо

пой

— — -££

F.WB!iriM i ^ — .-.

иг- 'й- :

-is — |^— "":.

эв — 1

i- ' :

| 88СО

»1_

5~ :

83~ I

••• --g- ". .

ав'ш г -**4j"fc»"

Рис. 9.8. Экранная форма справочника Долги

А] Ф-1ИЛ ДвАствия Таблица Вид Операции

j в: Н * % Ю ! S в н* г

^ Чц й& Ч1 • И ® Ш Ш Ш Ея. ij

Справочники Докупвнты Журнвл*>1 Отчеты Настройка Коитро/ь Сервис Окна Почоць ' jj4)i

ilS'-'ifile* . f*.:,'l:L. !; .И1Я Г '.w.l "*.:*•. i • / : ' • ; Ч';"

rail -j« «|

Bejпо комму

4|

ЧОМОСТЬ ДОЛЖНИКОВнальным платежам за 21.12.01

Участок Пииявой1601

J604«OS«06«07

£08«09£10

£12Ж1Э

Ц

i61 i

561

36 205621!6Э2

6625

ФИОСарнбвв! К Т.Ковалеве Н И

IOXHOS BA<огюбавв Р К.

1апмато*а Т ВЛусабеков К И .:вшватмСЗ•лисее» А. В

лГпоПлп1мнти« В Н.

Ьшсм^бвков Т.Зласова НА.

Тюваева А А

^?М(01;В.И-..., ........

Дата

21 12012<.1 2 01

24.120128.1 2.01

7.120171 13012612.01

7.1 2 0122.1201

21.1201

В.1201

7.12.01 '25.120117.1201I7.12.0t

17.120117.12012612.0129.1 2 012512012Й.1 : 01

Допг

45914

3S7998

11783.2

1161.24

1318.4

142 a

Дапг

3705 3110394

2.3

S314S9

407808332347

8868 23

'<ие«

4102 Г8S2S333

2122.9278<56

1836 П-096

Допг По дакумешу

38зв

38383838

38383»

38эе

эв3838

3838

3838

3838 I

1

• - • • E'i:

;;;; ;; ;

\ n B B & B : t ! н- [ Jl1 iS ff ст И tt- !

Ясгрмвчф»- Дояга( 6.06...] [А

впгюпгтгшсшпшхнцп

[Список дол

Aj ici -дари-т-.- ^»> ™ zsss s*?' i-tiTT'tiT

Рис. 9.9. Печатная форма ведомости должников

Page 172: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

166 Глава 9

jj Файл Действия Операции Справочники Дсжумен

кск

Дм» от

Долг»

:

р™^

1819

21

23

LU

ы Журмапы Отчеты На

13

"Бештау1* oaia коммунальных услуг ;А"ял» ДХМг.

«кми 3705.37 X 7303.82 [

нмм 0 К О

((0)беек6(09(60S6607(60S

ив6(11

((13

п(616

НМ6(136(20((21

6£23

: :.: :_JК j Зам)

Донно» Б А.Колобам Р.КАртамош.А.И.Б*лн«тм*Т.В.Мус*6*«а* К И

Em*;**i А В.Пннина ЕС.

JlMXivwtB.RЕ^АкмммаСДКок* мм» Ж. См -е—мВл«»1 Н А.Т<лмпо*Ч.Тцмгатаром Г.л*ит».А.в.

Жаманм» Е К.Люб«и А А

«. П *>»ог,.|ГП.1™т«.

jj

.КМКмК 040(0406.040604

06.64КМК.04%04

.06.04

.06.04

06.0406.0406.040604

0604

Обфотнм

И ОпКоиУсТариф-Номий

Для получения подскажи нажните F1

<УПуси| 0 # 0 » ««i(l»4mwvii6...|[<icnp<«niMni«i. и»к>

тройка Контроль Сервис Окна Помощь • Р.Щ Х|

И" ft • f ; ii Ш Ml 5е ! \Q ; "" -***'"•• f •

'| [й*оГ]д|Корр*п"Ч>о*к» пч>«ппатм ,

та

3.S7?.»

11.783.20

1,16124

1537142.90

4)48

230.42

343.20

94.24

15.3Т42 «1

Ш

• 1 Г Л«учмггмн

; MJM ETA:' Oi.01.00 00:00:00 £И:'2 квартал' 20tM г.

ре 1 dlirnaea9-Mieroso...| "Щ Р«9„в - Paint.

!капл«-ггв — 1

«tie

3.57S.»

11.783.21]7^33.93

1,К12(

I.3I8.4C

Я.37W2.90

|ТП! .„___,.

Рис. 9.10. Экранная форма документа Оплата коммунальных услуг

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

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

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

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

П полная оборотная ведомость по расчетам со всеми потребителями услугв КСК (рис. 9.11). Представляет целостную картину полноты и структурыоплаты;

Page 173: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Примеры конфигураций, написанных на базовых объектах 167

А] Файл Действия Таблиц ВнД Сиираш-

: j ьг и : ,- % а* ' з «. . Ч:!*'чв* ^й.ЕвГМаша

и СГравОЧни«« Документы Журчалм Отчеты K*;ipui"».e Контроль Ссрьис Окна Поиощь.. \ ' - .. iJ.*i y

5 Й..ЛГ^* d*. »! » : ^as*9 ы » «•»-; • ; ,;

кскрасчетам с квартиросъемщиками

за Декабрь 2000 г.

Лицевой

Э

6601

3602

5603

< 1

В*СД. сальдо

К оплате

Оплачено

Оплачено ИЛУ

Оплачено Пени

£эльло

ОплаченоОплачено ИПУОплачено Пени

Вход сальдоК оплатеОплаченоОплачено ИПУОплачено Пени

Вход, сальдоК оплатеОплаченоПппачянп ИПУ

Гор. вода000нет ИПУ ,ОплагаПениГрллатэГВ-^0381Q201ОшшаПениГ

0S350635ОплатаПениГ

-3033030п

Отопление000]ОллатаПениОт

ОппэтаОтопч-С

-Э08182

5164.03

2062]

Оплата ПениОт

11В37.Э71837 37)ОглЭ'эПениОт

-296102Д Q21824.02П

;| - . г,...у- ' SE ж m \ fr •'#; t *.s- \-&\F^Журнал .о*; чф-6 • • |

Для получения подсказки Ha*KhTcFI '

;'J!l! d *$ 0 * ^Кеифигурвтор-

Канализация000нет ИПУ

on3

а0вD

оп

эээ3

an

aэDП

|

с- f>&:^:l'.'~\ ' ,.,:•;. ^••'•', ' . ...:';..: ' . . . ' ' :..: ' ". " ' ;"'••>:.'А^ОАлротнля ведомость *

Ae^Jl lCflpeAnfiKflTMe. t

MJM Тй: 01.01.00 00:00:00 6И: гквартлп £Ш4 г. . :.";П1Г

^Кук [е1ЦиГлам9-Мшпо... ^ Рис»_? - P*nt ] Q g) I J 1м *t t|l 8:10

Рис. 9.11. Полная оборотная ведомость

A] ffl>'m Действия Твблша Вид Операции Докупеггты Журимы Отч

шва

КСК

Оборотная ведомостьпо расчетам с квартиросъемщиками

Экодящеесальдо

Начислено сучетом пани

14916.33 Ш3577.В6

.jyr- ;:,j U8amj b ''ЩЧi 3 В* ]Ш

Й^жур"-*-'' '!*J*iL-__ ^OfapOTHM ведомость *

MUM IftiOl.OLOD DD:00:CO ЬИ: г смртвл iU

] 0j.lir!n<»B9-MoiMo^.j |jj: 1Ме9_10 - Pa»*

Рис. 9.12. Краткая оборотная ведомость

Page 174: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

168 Глава 9

П краткая оборотная ведомость — оплата за потребленные услуги в целомпо КСК в разрезе видов услуг (рис. 9.12).

Кроме того, можно получить полную оборотную ведомость по отдельномуквартиросъемщику, полную оборотную ведомость на текущую дату (позво-ляет отследить динамику платежей). Естественно, сам документ также имеетпечатную форму.

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

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

^ Файл Действия Таблица Вид Операции Справочники Документы Журналы Отчеты Настройка Контроль Сервис Окна Помощь

(f.-a-'e-'Ml zU 3 f ^slMj?1 (jj MM.M-

; * i n a i в иш nil» и SL *•; ® g :

; Карточка квартиросъемщика

Куэвубаев Г.В. i

\ а т у & #1ЙЖурная дркунеитое __0г*с...

Для получения подсказки нажмите f 1

шШ

К оплате гор.Оплата гор, вода! Долг гор, вода !_____ вода _0плата отопл. Долг за РТОПЛ.1пл. [К оплате OTQI

^ • -^tt^cr :ад;н^ 1

,ШМ .ТА; 01,01 .00 00:00;OQ H: 2 квартал 20W г.

1СП

Рис. 9.13. Отчет Карточка потребителя

Page 175: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Примеры конфигураций, написанных на базовых объектах 169

Л] Файл Действия Таблица Вид Операции Справочники Докупвнть

:?t2l В? Q ' & % © ' ^ - ^

* 4=3 1& Т" ffll HI Ш Ш Ё Ш С^ 0R1C1 »

ITOO "Баста*

«fv

Журналы Отчеты Настройка Контроль Сервис Окна Помощь . ' ' _|Т, jffi X

'•Ч] '-vl-.&i V'- f .- Ш Д1 : . м м* м~ :

н РНН 600800046894, Р/счет 802467664 АФ ОАО Банк 'ТуранАлеы" гАлмаТыоплату производить в филиале сЛ NSС Ч Е Т - И З В Е Ш Е Н И Е лицевой счет 6601 Тел. плате. 9051 71

Плательщик

АдресVcnvra

Горячая вода

Спасская 6последнееа,

1отопление

КВ. 1

поедыдушП

кол- во

горячая вода

Срок оплаты д31 12 01

Полезнаятариф

153.66гг/куб.м.

63.56тг/м20тг^ел

1лощадь 56.7начисл дол rtneperl Пеня

вз |о

3603.85 5105.84 102.12долг

0 0ДОЛГ

За Декабрь 2001 г. Итого

Телефон 36891 1

Кол чел овк оплате

6811.81

0

8811.81

С 1 декабря 2001 года вводился пени на просроченные платежи.С Ч Е Т - КВИТАНЦИЯ лицевой счет 6601 Тел. плате

Плательщик

АдресУслуга

Горячая вода

отопление

[Спасская бпоследнее87

КВ.1

поельшуш0

КОЛ- ВО

горячая вода

Срок оплатыд31 12.01

Полезнаятариф

153.66гг*куб.ы.

63.56тг/М20

За Декабр

Ь5.£?.. ®]...й...1.1!.-...с i* : 33 Г с? : 56-1

шощадь 56.7начисл. долг/пврвг]пеня

ез |о

360385 510564 102.12ДОЛГ

0 0долг

в 2001 г. Итого

к 2Оплачено

905171

Телефон 368911

Кол человК оплате

8811.81

0

8311.81

к 2Оплачено

: *

^(Журнал Документов OnK,,',j ] опКомУсТариф - за * JJA^KBHTOK.* ' • .•. . •' •" .; ."-•.'' .::;.:.: . . .- ' . . •

Для получения подскажи не

^ГПуск] $ @ **

«митеР! •' • . • • ' \ fJUM" ТД: 01,01. СЮ'00':00:00

<f<( Конфигуратор - Аб. . . [ч!*7 Юпредприятие -• ti? *ик ' j §3 1 1Глвва 9 - Mooso, . -

£И:2 кмртал Й)СМ г, ]ТП;

^ PHG9J2"P«nt j Щ Ш ? « s'» В: IS

Рис. 9.14. Печатная форма счета-квитанции и счета-извещения

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

Page 176: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Предметный указатель

Автоматически присвоенный код 25Автоматически настраиваемый

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

реквизитов 37Алгоритм обработки шаблона

печатной формы 68

Базовые объектыметаданных 14

ВВвод остатков 133Ветви дерева справочников 14Ветвь метаданных 17Вид журнала 96Визуальные средства настройки

конфигуратора 41Встроенные средства

архивирования 128Встроенный язык системы 41Выбор кодовой страницы, 11Выборка из объекта

метаданных 63Выборка из справочника 70Выгружаемые реквизиты 140Выгрузка данных 131Вызов процедуры 73Вычисление НДС 42

Глобальная процедура 58Глобальный контекст 42Глобальный модуль 42, 54, 57, 58Графы журнала 96, 98Группировки запроса 105Группы справочника Интернет 160

дДата регистрации предприятия 17Добавление справочника 133Документ Приходная накладная 31, 35Дополнительные опции вывода 100Дополнительные реквизиты 26, 29Доступ к атрибутам 64

Единица измерения 22

ЖЖурнал:

документов 56расчетов 15

Заголовок диалогового окна 100Загрузка сохраненных данных 131Запрос ввода пароля 125Запрос на выборку данных 148Зарезервированные слова языка 41

Page 177: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Предметный указатель 171

ИИдентификатор 11, 20, 23, 26, 32, 33Идентификатор реквизита 29Имя секции 69История значений константы 21Итог по колонке 60Итоговая часть документа 77Итоговые значения 60, 62

ККаталог товаров 69, 71—73, 76Ключ защиты 7Ключевое слово 57, 58, 60Код 20, 22, 26, 29Команды встроенного языка 27Комментарий 19, 23, 32, 43Компонента:

"Бухгалтерский учет, 4, 15, 24"Оперативный учет" 4, 14"Расчет" 4, 15

Конструктор:запроса 106, 112печати 63, 81

Контроль уникальности 25, 26Конфигурация объектов 8Копии информационных баз 128Краткая оборотная ведомость 167, 168Краткое наименование 22, 26, 29

ЛЛокальный контекст 58Локальный контекст модуля 65

мМеню:

второго уровня 116первого уровня 115, 116

Механизм OLE 148Механизм:

загрузки данных 142расчета пени 166

Многострочная часть документа 77, 78Модуль отчета 108

нНабор:

интерфейсов 113пользовательских прав 120,113

Оборотная ведомость 163, 168Обработка 87, 90Объект метаданных 13,138Объект языка 143Ограничения в доступе 113Окно:

именования ячеек 66конструктора запроса 105редактирования формы 76

Описание конфигурации 133Отчет о закупках 103

пПалитра свойств:

константы 21поля ввода 29реквизита 26

Панель инструментов 118Параметр процедуры 50Перебор элементов в цикле 71Переменные запроса 105Перечисление 87—90Периодическая константа 21Поле формул 61Полная оборотная

ведомость 166, 167Полное наименование 22, 26Предопределенная процедура 47Признак периодичности 20Приходная накладная 147Проверка синтаксиса

программы 44Проводка 15, 96Программа архивации 131Простой внешний отчет 148Прототипы алгоритмов печати 63Процедура автоматической

выгрузки 161

Page 178: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

172 Предметный указатель

Раздел:основной программы 42переменных 42процедур и функций 42

Разделители между тройками цифр 21Режим конфигуратора 73, 76, 81, 83Резервная копия информационной

базы 129

Табличная часть документа 50, 52, 60Табличный отчет 76Текстовый формат 139Технологическая платформа 8Тип значения 19, 34, 35

Строка 29Число 21

Тип номенклатуры 22, 27, 72Тип товара 22, 27

Свойства ячейки 67Себестоимость 23, 27, 38Секция Подвал 78Сервисное обслуживание 9Сетевая бухгалтерия 5Синоним 17Синтакс-помощник 46Скорость работы программы 152Словарь данных 136Служебный объект метаданных 71Создание печатных форм 83Создание списка пользователей 126Состав конфигурации 157Сохранение информационной базы

127Сохранение метаданных 19Список:

активных пользователей 10констант 20наборов прав 122сохраняемых файлов 130

Справочник Контрагенты 29Справочник товаров 22Средства загрузки-выгрузки 141Ставка НДС 23, 27, 29Стандарты интеграции 141

Ф

Фактический параметр 58Флажок периодичности 21Форма элемента 29, 30Формальный параметр 58Формирование результатов

запроса 105Формы поставки 4

Цена 23, 27, 29, 35, 38, 39Цикл выборки 64

шШаблон печатной формы 65, 66,

68, 70-72, 74, 76, 79, 81, 83, 85,101, 108

Шаблон экранной формы 27, 35, 37

Экранная форма списка 29Экспорт данных 147

Page 179: Владимир Дубский 1С Предприие Конфигурирование и администрирование длначинающих

Пошаговое обучение 1<онсригурированию

Дубянский Владимир Маркович, разработчик программного обеспечения, преподавательучебного центра группы компаний "Glotur", автор курсов по основам программирования в си-стеме "1С:Предприятие". Разработал и внедрил более 30 приложений в области бухгалтерскогоучета, статистики и системного анализа. Постоянный автор журнала "Бухгалтер плюс компью-тер", "Computer club magazine", в которых опубликовал более 50 статей.

1 С: ПредприятиеКонфигурирование в администрирование

ря начинающих

Автор делится с читателями богатым опытом программиста •»*•

и преподавателя. В доступной форме излагает основы конфи-

гурирования и программирования в системе "1С:Предприятие" вер-

сии 7.7. Все действия расписаны пошагово, с иллюстрациями к каж-

дому шагу и листингами процедур. Книга адресована тем, кто никогда

не программировал, но хочет самостоятельно изучить основы разра-

ботки конфигураций. Особенна она может быть полезна бухгалтерам,

менеджерам, руководителям, которые постоянно используют "1C:

Предприятие" в работе, а также студентам, изучающим программиро-

вание в этой среде.

ISBN 5-94157-278-6

БХВ Петербург

"7 8 5 941 "5 72 7 8 6 1