5895
.pdfСтрока1=" Все"; Строка2=" будет"; Строка3=" хорошо!";
ИтоговаяСтрока=Строка1+ Строка2+Строка3+" "; Сообщить(ИтоговаяСтрока); Сообщить(СокрЛП(ИтоговаяСтрока);
3.Встроенная функция СтрДлина. Пример:
1)Сообщить(СтрДлина(ИтоговаяСтрока));
2)Сообщить(СтрДлина(СокрЛП(ИтоговаяСтрока))); // Вложенность функций
4.Встроенная функция СтрЗаменить Пример:
Сообщить(СтрЗаменить(ИтоговаяСтрока,"!", "!!!"));
Функции работы с числами.
1.Встроенная функция Цел. Пример:
ЛюбимоеЧисло=756; Сообщить(ЛюбимоеЧисло/52); Сообщить(Цел(ЛюбимоеЧисло/52));
2.Встроенная функция Окр. Пример:
Результат=ЛюбимоеЧисло/52; Сообщить(Окр(Результат));
Функции работы с датами.
1.Получить конец месяца от текущей даты. Пример:
Сообщить(КонецМесяца(ТекущаяДата()));
2.Добавить месяц - ДобавитьМесяц Пример:
Сообщить(ДобавитьМесяц(ТекущаяДата(),2));
Самостоятельно!
Создайте переменные – ДвухзначноеЧисло и Степень. Присвойте им определенные целочисленные значения.
11
Обеспечьте возведение ДвухзначногоЧисла в Степень. Далее, нужно сообщить получившийся результат.
Также нужно сообщить превышает ли полученное значение 1000.
Практическое занятие № 3.
События, процедуры и функции.
Работа с процедурами.
1.Создать процедуру УсловныеОператоры(). Оформить последовательность условных операторов в процедуру.
Процедура УсловныеОператоры() Если ЛюбимоеЧисло=30 Тогда
Сообщить("Все правильно!"); ИначеЕсли ЛюбимоеЧисло=49 Тогда
Сообщить("Это число 49");
Иначе Сообщить("Ошибка"); КонецЕсли;
КонецПроцедуры
2.Создать процедуру ЦиклическиеОператоры(). Оформить последовательность операторов по работе с циклами в процедуру.
Процедура ЦиклическиеОператоры() //Пример цикла по счетчику Для Счетчик=7 По 15 Цикл
Сообщить(Счетчик); Сообщить(Счетчик*Счетчик); КонецЦикла;
//Цикл по условию ИскомоеЧисло=1;
Пока ИскомоеЧисло*ИскомоеЧисло<1000 Цикл //Прервать; //Продолжить;
ИскомоеЧисло=ИскомоеЧисло+1; КонецЦикла; Сообщить(ИскомоеЧисло-1);
КонецПроцедуры
3.Ниже вызвать эти процедуры:
УсловныеОператоры(); ЦиклическиеОператоры();
4.Оформить подсчет квадрата числа в виде процедуры КвадратыЧисел() и вызвать ее в процедуре ЦиклическиеОператоры(). Это вложенный вызов.
Процедура КвадратыЧисел()
12
//Пример цикла по счетчику Для Счетчик=7 По 15 Цикл
Сообщить(Счетчик); Сообщить(Счетчик*Счетчик); КонецЦикла;
КонецПроцедуры
5. Работа с параметрами процедуры.
Процедура КвадратыЧисел(НачЗначение,КонЗначение) //Пример цикла по счетчику
Для Счетчик=НачЗначение По КонЗначение Цикл
Сообщить(Счетчик); Сообщить(Счетчик*Счетчик); КонецЦикла;
КонецПроцедуры
Затем при вызове процедуры нужно передавать значения параметров. Например, подсчитать квадраты чисел от 7 до 10.
КвадратыЧисел(7,10);
6. Самостоятельно! Оформить все ранее выполненные задания в виде процедур.
Работа с функциями.
1.Написать функцию, которая подсчитывает сумму квадратов чисел в заданном диапазоне. Для этого переименуем процедуру КвадратыЧисел() в функцию и сделаем в не изменения:
Функция КвадратыЧисел(НачЗначение,КонЗначение) СуммаКвадратов=0; Для Счетчик=НачЗначение По КонЗначение Цикл
Сообщить(Счетчик); Сообщить(Счетчик*Счетчик);
СуммаКвадратов= СуммаКвадратов+Счетчик*Счетчик; КонецЦикла; Возврат СуммаКвадратов;
КонецФункции
В процедуре ЦиклическиеОператоры() внести изменения:
Процедура ЦиклическиеОператоры() ПолученнаяСумма=КвадратыЧисел(7,10); Сообщить(ПолученнаяСумма); //Цикл по условию ИскомоеЧисло=1;
Пока ИскомоеЧисло*ИскомоеЧисло<1000 Цикл //Прервать; //Продолжить;
ИскомоеЧисло=ИскомоеЧисло+1; КонецЦикла;
13
Сообщить(ИскомоеЧисло-1); КонецПроцедуры
Запустить отладку и посмотреть, что получилось.
События модуля управляемого приложения.
1.Создать процедуру с помощью навигации ПередНачаломРаботыСистемы(), используя параметр Отказ
Процедура ПередНачаломРаботыСистемы(Отказ) Отказ=Истина;
КонецПроцедуры
Запустить отладку и посмотреть, что получится. Система запускаться не будет.
2.Реализовать задачу. Запретить сотрудникам организации закрывать 1С ранее 18-00 часов. Решение будет через процедуру ПередЗавершениемРаботыСистемы() и с помощью встроенной функции КонецДня()
Процедура ПередЗавершениемРаботыСистемы(Отказ) КонтрольнаяДата= КонецДня(ТекущаяДата())-6*3600+1; Если ТекущаяДата()<КонтрольнаяДата Тогда Сообщить("Работу заканчивать рано!"); Отказ=Истина; КонецЕсли;
КонецПроцедуры
Запустить отладку и попробовать закрыть систему.
События документов.
Задача. Получить итоговую сумму по документу «Поступление денег».
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) СуммаДокумента=0; Для Каждого СтрокаТЧ Из Поступления Цикл
СуммаДокумента = СуммаДокумента+СтрокаТЧ.Сумма; КонецЦикла;
КонецПроцедуры
Практическое занятие №4. Работа с отладчиком программы.
1.Открыть модуль объекта документа «Поступление денег». Двойным щелчком на серой панели слева напротив строчки СуммаДокумента=0; поставить точку останова. Должен появиться красный круглый значок.
2.Запустить отладку, система вернет выполнение программы снова в конфигуратор. Появилась стрелка. Можно посмотреть значение переменной, если навести курсор на нее.
3.Использование Табло в отладке. (меню Отладка – Табло).
Вставить в поле Выражение название переменных:
1)СуммаДокумента
2)СтрокаТЧ
3)СтрокаТЧ.Сумма
и посмотреть значение. Затем, используя «Шагнуть в»(меню «Отладка - Шагнуть в»), по-
14
смотреть как меняются их значения.
4.Средство отладчика «Вычислить выражение»( меню «Отладка - Вычислить выражение»). Находясь на строчке программного кода:
СуммаДокумента = СуммаДокумента+СтрокаТЧ.Сумма;
добавить в Выражение СтрокаТЧ и нажать кнопку Рассчитать. Ниже раскрыть СтрокаТЧ и выбрать Событие. Выражение СтрокаТЧ.Событие можно использовать в программном коде. Например, вставить в оператор:
Сообщить(СтрокаТЧ.Событие);
Пример:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) СуммаДокумента=0;
Для Каждого СтрокаТЧ Из Поступления Цикл СуммаДокумента = СуммаДокумента+СтрокаТЧ.Сумма;
Сообщить(СтрокаТЧ.Событие); КонецЦикла; КонецПроцедуры
5.Завершить отладку.(меню «Отладка – Завершить отладку») . Убрать точки останова и перейти в режим 1С:Предприятие. Провести снова документ «Поступление денег» и посмотреть, что получилось.
Практическое занятие №5.
Создание конфигурации для торговой организации ООО «Перекресток».
1.Назвать конфигурацию «Перекресток». Синоним – ООО «Перекресток».
2.Создать подсистемы: 1) Продажи
2)Закупки
3)НСИ
3.Создать Перечисление «Типы товаров» со значениями:
4.Создать справочники и отнести их в подсистему НСИ:
1)«Склады» со стандартными реквизитами.
2)«Контрагенты» - иерархический.
3)«Номенклатура» (синоним Список товаров) с реквизитами:
ОписаниеТовара – строка неограниченной длины
ОсновнойПоставщик - СправочникСсылка.Контрагенты
ТипТовара - ПеречислениеСсылка.ТипыТоваров
15
5.В пользовательском режиме заполнить справочник «Склады»:
1)Основной
2)Вспомогательный
6.В пользовательском режиме заполнить справочник «Контрагенты»:
Создать 2 группы: Поставщики и Покупатели.
Впоставщиках: 1) Запчасти-опт ООО
2)Простые решения
Впокупателях : 1) Запчасти-розница ООО
2)Сложные решения
7.В пользовательском режиме заполнить справочник «Номенклатура»:
8.Создать Константу «НаименованиеОрганизации» - строка неограниченной длины. В
пользовательском режиме ввести запись: ООО "Перекресток".
9.Создать в конфигураторе документ «Заказ клиента» ( подсистема Продажи). Документ регистрирует потребность клиента в товарах. Реквизиты документа:
Клиент - СправочникСсылка.Контрагенты
СкладСправочникСсылка.Склады
Документ имеет табличную часть Товары с реквизитами:
Товар – СправочникСсылка.Номенклатура
Количество – число, длиной 15и точностью 3
Цена – число, длиной 15и точностью 2
Сумма - число, длиной 15и точностью 2
10.Заполнить документ в пользовательском режиме записью:
Клиент - Запчасти-розница ООО,
Склад – основной
Товар – амортизатор
Количество – 2
Цена – 4000
Сумма – 8000
16
11.Методом копирования документа «Заказ клиента» создать документ «Поступление товаров и услуг». Реквизит Клиент заменить на название Поставщик.
12.Методом копирования документа «Заказ клиента» создать документ «Реализация товаров и услуг».
13.Сделаем, чтобы документ «Реализация товаров и услуг» создавался на основании документа «Заказ клиента». ( закладка Ввод на основании документа «Реализация товаров и услуг») . Затем открыть Конструктор ввода на основании и заполнить данными. Проверить работу данного механизма в режиме «1С:Предприятие». Создать документ «Реализация товаров и услуг» на основании документа «Заказ клиента».
14.Создать объект конфигурации Журнал документов. Назвать его «Торговые документы» и указать, что там будут документы «Реализация товаров и услуг» и «Заказ клиента». Создать дополнительный граф Клиент и указать на него ссылки из двух документов. Проверить работу в режиме «1С:Предприятие».
15.Создать печатную форму документа «Заказ клиента».(закладка Макет).
16.Отредактировать макет. Сменить название на Счет на оплату и в подвале выделить место под подпись руководителя.
Практическое занятие №6.
Учет взаиморасчетов . Работа с регистрами накопления.
Задача:
1)Необходимо обеспечить учет взаиморасчетов.
2)Долги покупателей перед нами.
3)Наши долги перед поставщиками.
1. Заполнить данными документ «ПоступлениеТоваровИУслуг»(подсистема «Закупки»):
17
2. Заполнить данными документ «РеализацияТоваровИУслуг» (подсистема»Продажи»):
3.Создать регистр накопления «Взаиморасчеты»( подсистема «Закупки» и «Продажи»), где будет храниться сумма долга перед нашей компанией. Вид регистра – остатки. Измерения регистра – Контрагент с типом СправочникСсылка.Контрагент и с ресурсом – Сумма (тип Число длиной 15, точность 2).
!!Следует иметь в виду, что если должны нашей компании(дебиторская задолженность), то данные будут храниться в регистре со знаком «+», а если должна наша компания (кредиторская
задолженность), то данные в регистре будут храниться со знаком « -».
4.Закладка Регистраторы. Указать какие документы формируют записи в регистре. Это документ «ПоступлениеТоваровИУслуг» - увеличивает наш долг (кредиторскую задолженность) перед поставщиками и документ «РеализацияТоваровИУслуг» - увеличивает долг клиента (дебиторскую задолженность) перед нашей компанией.
5.Добавить в документ «РеализацияТоваровИУслуг» реквизит СуммаДокумента с типом Число (длиной 15, точтостью 2) и реализовать механизм подсчета суммы по документу.( практ. занятие №3).
6.Формирование записей в регистре при проведении документа «РеализацияТоваровИУслуг».
Закладка «Движения». Открыть Конструктор движений. Указать, что будет Приход (знак «+»), заполнить данными: Контрагент = Клиент и Сумма = СуммаДокумента. Нажать ОК.
18
7. Сделать видимость регистра накопления «Взаиморасчеты». Для этого:
1 способ. Для видимости в подсистемах необходимо выделить мышкой в дереве конфигурации Подсистемы, вызвать контекстное меню, выбрать Все подсистемы и в раскрывшемся окне указать нужные подсистемы.
2 способ. Для перехода к регистрам из документа необходимо создать форму документа, перейти на закладку «Командный интерфейс», раскрыть команду «Перейти» и указать видимость у регистра.
3 способ. Для просмотра регистра накопления можно из пользовательского режима нажать кнопку «Главное меню» и выбрать команду «Все функции», в которой можно обраться к любому объекту конфигурации ( к которому есть права доступа) и открыть нужный объект. Если такой функции в меню нет, то она добавляется через Параметры.
8.В режиме «1С:Предприятие» перепровести документы «РеализацияТоваровИУслуг» и проверить записи в регистре «Взаиморасчеты».
9.Добавить в документ «ПоступлениеТоваровИУслуг» реквизит СуммаДокумента с типом Число (длиной 15, точтостью 2) и реализовать механизм подсчета суммы по документу.( практ. занятие №3).
10.Формирование записей в регистре при проведении документа «ПоступлениеТоваровИУслуг».
Закладка «Движения». Открыть Конструктор движений. Указать, что будет Расход (знак «-»), заполнить данными: Контрагент = Поставщик и Сумма = СуммаДокумента. Нажать ОК.
19
11.Сделать видимость регистра накопления «Взаиморасчеты»из документа «ПоступлениеТо-
варовИУслуг».
12.Реализовать автоматический пересчет Суммы в табличной части докуменов «Поступление-
ТоваровИУслуг» и «РеализацияТоваровИУслуг» при изменении Количества и Цены.
13.Создание документа «Выписка банка» »( подсистема «Закупки» и «Продажи»). Документ отражает входящие и исходящие платежи по расчетному счету за определенный день.
Структура документа следующая( имеются только две табличные части с реквизитами) :
14.Закладка Движения. Указать, что этот документ будет делать движение в регистре «Взаи-
морасчеты» и открыть Конструктор движений.
Приход денежных средств уменьшает долг клиента перед нами, поэтому тип движения реги-
стра - расход, а расход денежных средств – долг контрагента увеличивается (когда мы пла-
тим), поэтому тип движения регистра будет – приход.
15.Сделать видимость регистра любым способом для просмотра и перейти в пользовательский режим.
16.Заполнить документ «Выписка банка»:
20