Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_metodposobie_program_V_Srede_1s_vers6.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1 Mб
Скачать

Задание 2.

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

Контрольные вопросы

  1. Какое расширение имеет внешний отчет?

  2. Где сохраняется внешний отчет?

  3. В чем преимущество использования внешнего отчета при разработке приложений в среде "1С:Предприятие"?

  4. Где помещается вызов процедуры для реакции на нажатие объекта «кнопка» во внешнем отчете?

  5. Как к существующему документу кофигурации добавить новую печатную форму? Можно ли одному документу добавить несколько печатных форм.?

  6. Как защитить паролем внешний отчет?

Введение в программирование в среде "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 тыс. руб.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]