- •1. Концепция системы 1с:предприятие
- •1.1 Краткое описание понятий (объектов) системы
- •1.2. Технологические средства конфигурирования и администрирования системы 1с:Предприятие
- •1.3. Понятие «метаданные»
- •1.4. Конфигурация
- •2. Лабораторная работа №1
- •2.1. Постановка задачи
- •2.2. Создание конфигурации и начало работы с метаданными
- •3. Лабораторная работа №2
- •3.1. Константы в системе 1с:Предприятие
- •3.2. Справочники в системе 1с:Предприятие
- •3.3. Перечисления в системе 1с:Предприятие
- •3.4. Создание справочника товаров
- •4. Лабораторная работа №3
- •4.1. Создание справочника складов справочника контрагентов и справочника договоров с контрагентами
- •4.2. Создание справочника контрагентов
- •4.3. Создание справочника договоров с контрагентами
- •5. Лабораторная работа №4
- •5.1. Документы в системе 1с:Предприятие
- •5.2. Журналы в системе 1с:Предприятие
- •5.3. Регистры в системе 1с:Предириятие
- •5.4. Хранение данных по взаиморасчетам с контрагентами
- •6. Лабораторная работа №5
- •6.1. Отчеты в системе 1с:Предприятие
- •6.2. Создание отчета
- •7. Лабораторная работа №6
- •7.1. Создание документа "Изменение цен"
- •7.2. Создание регистров по товарам
- •8. Лабораторная работа №7
- •8.1 Приходная накладная
- •8.2. Отчет по остаткам на складе
- •9. Лабораторная работа №8
- •9.1. Создание перечисления "МетодСписания"
- •9.2. Создание расходной накладной
- •10. Лабораторная работа №9
- •10.1. Создание отчета "ОбороткаПоДолгам"
- •10.2. Создание отчета "ОбороткаПоСкладу"
- •10.3. Создание отчета по прибыли с товара
- •10.4. Создание отчета по обороту товара
- •11. Теоретические вопросы по компоненте «оперативный учет» системы 1с: предприятие
- •12. Примеры практических задании
10. Лабораторная работа №9
10.1. Создание отчета "ОбороткаПоДолгам"
Учет не имеет смысла без отчетности. У нас уже есть отчеты, которые показывают состояние остатков и долгов на конкретную дату. Необходимо создать два отчета: один покажет изменение долгов за какой-то период, а второй -движение по складу товаров.
-
Создать новый отчет "ОбороткаПоДолгам".
-
Добавить поле ввода ДатаН - тип Дата, формула ДатаН().
-
Добавить поле ввода ДагаК — тип Дата, формула ДатаК().
-
Прописать процедуры в модуле формы:
Процедура ДатаН() ДатаК=П о луч ить Дату Т А(); Если
ДатаН>ДатаК Тогда ДатаН=ДатаК; КонецЕсли; КонецПроцедуры //
Процедура ДатаК() Если ДатаК<ДатаН Тогда ДатаК=ДатаН;
ИначеЕсли ДатаК>ПолучитьДатуТА() Тогда
ДатаК=ПолучитьДатуТА();
КонецЕсли;
КонецПроцедуры //
Процедура Сформировать()
Запрос=СоздатьОбъект("Запрос");
ТекстЗапроса="
|Период с ДатаН по ДатаК;
|Контр = Регистр.Взаиморасчеты.Контрагент;
|Догов = Регистр.Взаиморасчеты.Договор;
|Сумма «в Регистр.Взаиморасчеты.Сумма;
|Флаг = Регистр.Взаиморасчеты.ФлагДвижения;
|Функиия СуммаНачОст = НачОст(Сумма);
|Функция СуммаПриходТов = Приход(Сумма) когда(Флаг=1);
|Функция СуммаРасходТов = Расход(Сумма) когда(Флаг=2);
|Функция СуммаРасходДен = Расход(Сумма) когда(Флаг=3);
[Функция СуммаПриходДен = Приход(Сумма) когда(Флаг=4);
^Функция СуммаКонОст = КонОст(Сумма);
[Группировка Контр упорядочить по Контр.Код;
[Группировка Догов;";
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
Сообщить("Запрос не выполнен");
Возврат;
КонецЕсли;
Таб=Соз датьОбъе кт(" Табл и ца"); Таб. И с х о дная Табл и ца("
Табл и ца"); ИтНачОст=Запрос.СуммаНачОст;
ИтПри\Тов=Запрос.СуммаПриходТов;
ИтРасхДен=Запрос.СуммаРасходДен;
ИтРасхТов=Запрос.СуммаРасходТов;
ИтПрихДен-Запрос.СуммаПриходДен;
ИтКонОст=Запрос.СуммаКонОст;
// для итогов перед началом прохода по группировкам получаем
// значения функций для всей выборки сразу
Таб.ВывестиСекцию("Шапка");
Пока Запрос.Группировка(1)=1 Цикл
Контра-Запрос. Контр;
НачОст=Занрос.СуммаНачОст;
ПрихТов-Запрос.СуммаПриходТов;
РасхДен=Запрос.СуммаРасходДен;
РасхТов~ Запрос.СуммаРасходТов;
Г1рихДен=Запрос.СуммаПриходДен;
КонОст=Запрос.СуммаКонОст;
Если Контра.ЭтоГруппа()=1 Тогда
Таб.ВывестиСекцию("Группа");
Иначе
Таб.ВывестиСекцию( "Контра");
Пока Запрос.Груипировка(2)=1 Цикл
Дог=Запрос. .Догов;
НачОст=Запрос.СуммаНачОст;
ПрихТовЗапрос.СуммаПриходТов;
РасхДен-Запрос.СуммаРасходДен;
РасхТов=Запрос.СуммаРасходТов;
ПрихДен Запрос.СуммаПриходДен;
КонОст=Запрос.СуммаКонОст;
Габ.ВывестиСекцию("Дог");
КонецЦикла;
КонецЕсли;
КонецЦикла;
Таб. ВывестиСекцию( "Итого"); Габ.'ГолькоПросмотр( 1);
Таб.ПараметрыСтраницы(1,100,1); Таб. Показать("");
КонецПроцедуры
-
Создать шаблон печатной формы.
-
Сохранить конфигурацию.
10.2. Создание отчета "ОбороткаПоСкладу"
-
Создать новый отчет "ОбороткаПоСкладу".
-
Добавить поле ввода ДатаН — тип Дата, формула ДатаН().
-
Добавить поле ввода ДатаК - тип Дата, формула ДатаК().
-
Добавить поле ввода Склад - тип С.Склады.
-
Прописать процедуры в модуле формы:
Процедура ДатаН()
ДатаК=ПолучитьДатуТА();
Если ДатаН>ДатаК Тогда
ДатаН=ДатаК;
КонецЕсли;
КонецПроцедуры
//--—
Процедура ДатаК() Если ДатаК<ДатаН Тогда ДатаК> ДатаН;
ИначеЕсли ДатаК>ПолучитьДатуТА() Тогда
ДатаК=ПолучитьДатуТА();
КонецЕсли;
КонецПроцедуры
Процедура Сформировать()
Если Склад.Выбран()=0 Тогда
Сообщить("Не выбран склад");
Возврат;
КонецЕсли;
Запрос-СоздатьОбъект("Запрос");
ТекстЗапроса="
|Период с ДатаН по ДатаК;
|Скл = Регистр.ОстаткиТоваров. Склад;
|Товар = Регистр.ОстаткиТоваров.Товар;
|Количество = Регистр.ОстаткиТоваров.Количество;
|ФлагДвижения = Регистр.ОстаткиТоваров.ФлагДвижения;
|Функция КолНачОстС = НачОст(Количество);
[Функция КолПриходК = Приход(Количество) ко-
гда(ФлагДвижения=1);
|Функция КолРасходК = Расход(Количество) ко-
гда(ФлагДвижения=1);
|Функция КолКонОстС = КонОст(Количество); |Группировка Товар
упорядочить по Товар.Код;
|Условие(Скл=Склад);";
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
Сообщить("3апрос не выполнен");
Возврат;
КонецЕсли;
Таб=СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("");
Таб.ВывестиСекцию("Шапка"); ИгНачОстС = Запрос.КолНачОстС;
ИтПриходК = Запрос. КолПриходК; ИтРасходК =
Запрос.КолРасходК; ИгКонОстС = Запрос. КолКо нОстС; Пока
Запрос.Группировка("Товар")~"1 Цикл ГТов=Запрос. Товар;
НачОстС = Запрос.КолНачОстС; ПриходК = Запрос.КолПриходК;
РасходК = Запрос.КолРасходК; КонОстС ~ Запрос.КолКонОстС;
Если ТТов.ЭтоГруппа()— 1 Тогда Тов=СокрЛП(ТТов.
Наименование); Таб.ВывестиСекцию("Группа"); Иначе
Тов=СокрЛП(ТТов.Код)+" ("+СокрЛП(ТТов.Наименованис)+")";
НачОстС ~ Запрос.КолНачОстС;
ПриходК = Запрос.КолПриходК;
РасходК = Запрос.КолРасходК;
КонОстС = Запрос.КолКонОстС;
I аб.ВывестиСекцию( "Товар");
КонецЕсли;
КонецЦикла;
Таб.ВывестиСекцию("Итого");
Таб.ТолькоПросмотр( 1);
Таб.Парам етрыСтраницы( 1,100,1);
Таб.Показать("");
КонецПроцедуры
-
Создать шаблон печатной формы.
-
Сохранить изменения в конфигурации.
-
Загрузить 1С:Предприятие.
-
Создать несколько новых документов, провести старые и посмотреть, что выдадут отчеты.