- •Введение
- •Технология работы с внешними отчетами в системе "1с: Предприятие" Теоретическая часть
- •Практическая работа. Создание, подключение и защита от несанкционированного доступа внешних отчетов в программной среде «1с:Предприятие»
- •Ход работы
- •1. Создание внешнего отчета
- •2. Редактирование и использование внешних отчетов
- •3. Защита паролем внешнего отчета
- •4. Вывод печатных форм документа, с помощью внешних отчетов
- •Задание 2.
- •Контрольные вопросы
- •Введение в программирование в среде "1с:Предприятие" Теоретическая часть
- •Лабораторная работа. Программирование на встроенном языке системы "1с:Предприятие".
- •Контрольные вопросы
- •Работа с объектами системы "1с: Предприятие". Объект «Таблица значений» Теоретическая часть
- •Практическая работа. Создание справочника и формы списка с таблицей значений
- •Заполнение справочника с помощью созданной формы списка
- •Добавление реквизитов справочника на форму списка и их удаление с формы
- •Добавление реквизита справочника в таблицу значений.
- •Удаление реквизита справочника из таблицы значений.
- •Изменение параметров отображения реквизитов справочника в таблице значений.
- •Практическая работа. Программирование таблицы значений
- •Подготовка к комфортному программированию
- •Получение параметров таблицы значений
- •Выполнение математических расчётов в таблице значений
- •Сортировка строк таблицы значений
- •Сортировка части строк таблицы
- •Лабораторная работа . Создание динамических массивов в «1с: Предприятии» на основе объекта «ТаблицаЗначений»
- •Контрольные вопросы
- •Глоссарий
- •Литература
- •Приложение а Создание внешнего отчета. 1с: Предприятие.8
- •Защита паролем внешнего отчета
- •Вывод печатных форм документа, с помощью внешних отчетов
Задание 2.
Вставьте в форму нового отчета кнопку «Пример1». При нажатии на кнопку «Пример1» организуйте вызов процедуры. В тело процедуры включите программный код, который будет выводить сообщение с вашей фамилией.
Контрольные вопросы
Какое расширение имеет внешний отчет?
Где сохраняется внешний отчет?
В чем преимущество использования внешнего отчета при разработке приложений в среде "1С:Предприятие"?
Где помещается вызов процедуры для реакции на нажатие объекта «кнопка» во внешнем отчете?
Как к существующему документу кофигурации добавить новую печатную форму? Можно ли одному документу добавить несколько печатных форм.?
Как защитить паролем внешний отчет?
Введение в программирование в среде "1с:Предприятие" Теоретическая часть
В системе "1С:Предприятие" программные модули не являются самостоятельными единицами, а рассматриваются системой лишь как часть ее общей конфигурации. Место размещение таких модулей заранее определено разработчиками системы "1С:Предприятие". Существуют такие виды модулей: глобальный модуль, модуль формы документа, модуль документа и т.д.
Выполнение программных модулей происходит только в режиме "1С:Предприятие" . Программный модуль выполняется при открытии формы соответствующего объекта. Для отладки алгоритмов удобнее разрабатывать программные модули во внешних отчетах (обработках).
В "1С:Предприятие" различают базовые типы данных и агрегатные типы. К базовым относят: число, дата, строка. Агрегатные типы предназначены для работы с объектами "1С:Предприятие". Агрегатные типы данных имеют набор атрибутов и методов. Программисту для работы с системой нужно использовать данные об объектах, которые можно оперативно получать из справочной системы (рис.1).
Рис.1. – Справочная система "1С:Предприятия"
Лабораторная работа. Программирование на встроенном языке системы "1с:Предприятие".
Задание к лабораторной работе
Создайте внешний отчет
Отладьте примеры №1-3. На каждый модуль создавайте отдельную кнопку в форме.
Самостоятельно выполните Задание №1.
Отладьте примеры №4-5. На каждый модуль создавайте отдельную кнопку в форме.
Самостоятельно выполните Задание №2.
Оформите отчет. Результат продемонстрировать преподавателю.
Ход работы
Создать внешний отчет.
В форме внешнего отчета вставить кнопку Пример1. В меню выбрать Вставить – Кнопка. Кнопке присвоить имя Пример1 (см. рис.2).
К кнопке Пример1 привязать вызов процедуры Пример1(). Для этого в свойствах кнопки на закладке Дополнительно в строке формула прописать вызов процедуры Пример1() (Рис.3).
Перейти на закладку Модуль. Оформить процедуру Пример1. Это можно сделать вручную либо вызвать шаблон. Для вызова шаблона перейдите в контекстное меню Шаблоны – Процедура. В появившемся окне вставьте имя процедуры. Результат показан на рис 4.
Вставить в заготовленную процедуру операторы Примера1.
Отладить процедуру. Для этого выбрать в меню Действия – Синтаксический контроль.
Сохранить и присвоить имя внешнему отчету.
Зайти в пользовательский режим и запустить на выполнение сохраненный отчет.
Рис.2 – Диалог вставки кнопки в форму внешнего отчета
Рис.3 – Привязка вызова процедуры к кнопке
Рис.4 – Результат создания процедуры Пример1
Пример 1
Процедура Пример1_1()
Перем а1,а2; //объявляем две переменные, тип не задан
ВвестиЧисло(а1, "Введите число",,,); //открываем диалог ввода (см. команду в Синтаксисе-помошнике)
а2="Изучаем работу в среде 1С"; //перем. а2 получит тип строка
Сообщить(ТекущаяДата()); //оператор вывода сообщить и сист. функция для работы с датой
Предупреждение("Новое значение =" + Строка(а1),2);// оператор предупреждение -для организации диалога с пользователем
а2=Вопрос("Вы написали программу", "Стоп+Повтор+Пропустить"); //вопрос- еще один оператор для организации диалога
Сообщить(а2);
КонецПроцедуры
Пример 2
Процедура Пример2()
Перем П1,П2,ВыбПеречисл;
ВВестиПериод(П1,П2,"Введите период отчетов");//стандартный диалог ввода периода
Сообщить ("П1="+П1+" П2="+П2);
ВыбПеречисл=Перечисление.ТипыБанковскихСчетов.Рублевый; //переменной ВыбПеречисл присваивается значение конкретного перечисления
Если ВвестиПеречисление(выбПеречисл,"Выберите счет")=1 Тогда //диалог по интерактивному выбору значения перечисления
Предупреждение("Счет выбран "+ВыбПеречисл);
КонецЕсли;
КонецПроцедуры //2
Пример 3
Процедура Пример3()
Спр=СоздатьОбъект("Справочник.Сотрудники"); // Переменной Спр присваиваем тип объекта
Если Спр.Выбрать("Выберите сотрудника","") > 0 Тогда // используем метод справочника- выбрать
Сообщить("НовКассир="+Спр.Наименование);
Константа.Кассир.Установить('01.01.08', Спр.ТекущийЭлемент()); //константе кассир присваиваем новое значение. метод установить применяется для периодических констант
КонецЕсли;
КонецПроцедуры //Пример3
Задание 1
Написать процедуру. Проверить заполнено ли значение адреса организации (оно хранится в соответствующей константе). Если заполнено, то в сообщение вывести содержимое адреса, если нет, то вывести соответствующее сообщение. Примечание: при написании программы использовать функцию ПустоеЗначение().
Пример 4
Процедура Пример4()
Спр=СоздатьОбъект("Справочник.Сотрудники");
Если Спр.НайтиПоНаименованию("Администрация",0)=1 Тогда
Сообщить("Администрация найдена");
Если Спр.ЭтоГруппа()=1 Тогда
Сообщить("Группа найдена="+Спр.Наименование);
Спр.Наименование="Наша Администрация";
Спр.Записать();
КонецЕсли;
КонецЕсли;
КонецПроцедуры //Пример4
Пример 5
Процедура Пример5()
Спр=СоздатьОбъект("Справочник.Сотрудники");
Спр.ВыборГруппы(1); //без этого оператора выбир. элементы, а не группа
Если Спр.Выбрать("Выберите группу","")=1 Тогда
Гр=Спр.ТекущийЭлемент();
КонецЕсли;
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
// Сообщить("Спр="+Спр.Наименование);
Сообщить("Уровень="+Спр.Уровень());
Если Спр.ПринадлежитГруппе(Гр)=1 Тогда // если назв. группы строка символов- то работать не будет
Сообщить("Группа найдена="+Спр.Наименование);
М=Спр.Оклад.Получить('10.03.08')*1.2;
Спр.Оклад.Установить('10.03.08',М);
Спр.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры //Пример5
Задание 2
Написать процедуру на языке 1С. Подсчитать общую сумму месячной заработной платы и количество сотрудников, оклад которых на текущую дату больше 20 тыс. руб.
