Файл: Разработка конфигурации «Складской учет» в среде 1С:Предприятие 8.3 (Описание разработанных форм отчетов, необходимых для отражения результатов решения задач).pdf
Добавлен: 14.05.2023
Просмотров: 657
Скачиваний: 4
СОДЕРЖАНИЕ
1.1 Выбор комплекса задач автоматизации
1.2. Характеристика документооборота, возникающего при решении задач
1.3 Обоснование проектных решений по информационному обеспечению
2.1. Характеристика разработанных справочников в среде 1С:Предприятие
2.2. Характеристика разработанных экранных форм документов в среде 1С:Предприятие
2.4 Описание разработанных подсистем в среде 1С:Предприятие.
Итак, цель курсовой работы – это разработка конфигурации «Складской учёт» в среде «1С: Предприятие 8.3» выполнена.
Помимо цели курсовой работы мы ставили еще и задачи, которые необходимо решить по мере выполнения курсовой работы.
На наш взгляд выполнены следующие задачи, которые необходимо было решить для достижения поставленной цели:
- автоматизировали процедуру учета товара;
- документальное оформление движение товаров на складе;
- разработали формы документов для приема товара на склады и отпуска товара контрагентам, а также сформировали печатные формы данных документов.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
- Радченко М.Г., Хрусталева Е.Ю. 1С:Предприятие 8.2. Практическое пособие разработчика. Примеры и типовые приемы - М.: ООО «1С-Паблишинг», 2013-964 с.
- Ажеронок В.А., Островерх А.В., Радченко М.Г., Хрусталева Е.Ю. Разработка управляемого интерфейса - М.: ООО «1С-Паблишинг»,2012 –728 с.
- Кашаев С.М. Программирование в 1С:Предприятие 8.3 - СПб.: Питер, 2014. - 304 с.
- Отенко И.А, Азбука программирования в 1С Предприятие 8.3 / И.А. Отенко, Г.И Добин - СанктПетербург: BHV, 2015-288с .
- Ситосенко Е. Управление заказами в системе программ 1С: Предприятие 8.0 / Е.Ситосенко. –М.: 1С-Паблишинг, 2013. -219с.
- Фирма 1С [Электронный ресурс]/ Режим доступа : http://www.1c.ru/ свободный -Загл. с экрана (дата обращения: 28.02.2019).
ПРИЛОЖЕНИЯ
Приложение 1 Печатные формы документов
Рисунок 1 Макет печати документа «Поступление товара»
Рисунок 2 Печатная форма документа «Поступление товара»
Запись в модуле менеджера в документе «Поступление товара»
Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.ПоступлениеТовара.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|ПоступлениеТовара.Дата,
|ПоступлениеТовара.Договор,
|ПоступлениеТовара.Коментарий,
|ПоступлениеТовара.КонтактноеЛицо,
|ПоступлениеТовара.Контрагент,
|ПоступлениеТовара.Номер,
|ПоступлениеТовара.Склад,
|ПоступлениеТовара.Сотрудник,
|ПоступлениеТовара.СуммаДокумента,
|ПоступлениеТовара.Товары.(
|НомерСтроки,
|Номенклатура,
|СерияНоменклатуры,
|Цена,
|Количество,
|Сумма,
|СтавкаНДС,
|СуммаНДС,
|Всего,
|Наценка,
|ЦенаПродажи
|)
|ИЗ
|Документ.ПоступлениеТовара КАК ПоступлениеТовара
|ГДЕ
|ПоступлениеТовара.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
ОбластьТовары = Макет.ПолучитьОбласть("Товары");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьТоварыШапка);
ВыборкаТовары = Выборка.Товары.Выбрать();
Пока ВыборкаТовары.Следующий() Цикл ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень()); КонецЦикла;
ВставлятьРазделительСтраниц = Истина;КонецЦикла;//}}
// вывод области "Сумма"
КонецПроцедуры
Рисунок 3 Макет печати документа «Продажа товаров»
Рисунок 4 Печатная форма документа «Продажа товаров»
Запись в модуле менеджера в документе «Поступление товара»
Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.ПродажаТоваров.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|ПродажаТоваров.Дата,
|ПродажаТоваров.Коментарий,
|ПродажаТоваров.КонтактноеЛицо,
|ПродажаТоваров.Контрагент,
|ПродажаТоваров.Номер,
|ПродажаТоваров.Склад,
|ПродажаТоваров.Сотрудник,
|ПродажаТоваров.СуммаДокумента,
|ПродажаТоваров.Товары.(
|НомерСтроки,
|Номенклатура,
|СерияНоменклатуры,
|Цена,
|Количество,
|Сумма
|)
|ИЗ
|Документ.ПродажаТоваров КАК ПродажаТоваров
|ГДЕ
|ПродажаТоваров.Ссылка В (&Ссылка)"; Запрос.Параметры.Вставить("Ссылка", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); Шапка = Макет.ПолучитьОбласть("Шапка"); ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка"); ОбластьТовары = Макет.ПолучитьОбласть("Товары"); ТабДок.Очистить(); ВставлятьРазделительСтраниц = Ложь; Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьТоварыШапка); ВыборкаТовары = Выборка.Товары.Выбрать(); Пока ВыборкаТовары.Следующий() Цикл
ОбластьТовары.Параметры.Заполнить(ВыборкаТовары); ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
КонецЦикла;
ВставлятьРазделительСтраниц = Истина; КонецЦикла;//}}
КонецПроцедуры
Приложение 2 Обработчик Заполнения Вида номенклатуры
Рисунок 5 Форма обработчика заполнения Видов номенклатуры
&НаКлиенте
Процедура Заполнить(Команда)
Количество = ЗаполнитьНаСервере(ГруппаНоменклатуры, ВидНоменклатуры);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ЗаполнитьНаСервере(ГруппаНоменклатуры, ВидНоменклатуры)
Выборка=Справочники.Номенклатура.ВыбратьИерархически(ГруппаНоменклатуры); Количество = 0;
Пока Выборка.Следующий() Цикл Если Выборка.ЭтоГруппа Тогда
Продолжить; КонецЕсли;
// СправочникОбъект.Номенклатура
СправочникОбъект = Выборка.ПолучитьОбъект();
СправочникОбъект.ВидНоменклатуры = ВидНоменклатуры;
СправочникОбъект.Записать(); Количество = Количество + 1;
КонецЦикла; Возврат Количество;
КонецФункции
Обработчик Запросы.
Рисунок 6 Форма обработчика Запросы
&НаКлиенте
Процедура ВыполнитьЗапрос(Команда)
ВыполнитьЗапросНаСервере(Склад);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ВыполнитьЗапросНаСервере(Склад)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|ПоступлениеТовара.Ссылка КАК Ссылка,
|ПоступлениеТовара.Склад КАК Склад
|ИЗ
|Документ.ПоступлениеТовара КАК ПоступлениеТовара
|ГДЕ
|ПоступлениеТовара.Склад = &Склад
|И ПоступлениеТовара.Проведен";
Запрос.УстановитьПараметр("Склад", Склад);
РезультатЗапроса = Запрос.Выполнить();
// 1. Создание выборки.
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
// Вставить обработку выборки ВыборкаЗаписи
КонецЦикла;
// 2. Выгрузка в таблицу значений.
Таблица = РезультатЗапроса.Выгрузить();
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецПроцедуры
Обработчик Изменения документов поступления
Рисунок 7 Форма обработчика Изменения документов поступления
&НаКлиенте
Процедура Изменить(Команда)
ИзменитьНаСервере();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ИзменитьНаСервере()
Выборка = Документы.ПоступлениеТовара.Выбрать();
Пока Выборка.Следующий() Цикл
ДокументОбъект = Выборка.ПолучитьОбъект();ДокументОбъект.Коментарий = "Изменено обработкой"; ДокументОбъект.Записать();
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьПоНоменклатуре(Команда)
ИзменитьПоНоменклатуреНаСервере(Номенклатура);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ИзменитьПоНоменклатуреНаСервере(Номенклатура)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|ПоступлениеТовараТовары.Ссылка КАК Ссылка
|ИЗ
|Документ.ПоступлениеТовара.Товары КАК ПоступлениеТовараТовары
|ГДЕ
|ПоступлениеТовараТовары.Номенклатура = &Номенклатура";
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл ДокументОбъект = Выборка.Ссылка.ПолучитьОбъект();
ДокументОбъект.Коментарий = "Измененно обработкой с отбором по номенклатуре";
ДокументОбъект.Записать(); КонецЦикла;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецПроцедуры
Обработчик Курсы Валют
Рисунок 8 Форма обработчика Курсы Валют
&НаКлиенте
Процедура ПолучитьКурс(Команда)
ПолучитьКурсНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПолучитьКурсНаСервере()
Отбор = Новый Структура;
Отбор.Вставить("Валюта", Валюта);
Данные = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Период, Отбор);
Курс = Данные.Курс;
Кратность = Данные.Кратность;
КонецПроцедуры
&НаКлиенте
Процедура ЗаписатьКурс(Команда)
ЗаписатьКурсНаСервере();
КонецПроцедуры
&НаСервере
Процедура ЗаписатьКурсНаСервере()
НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
Запись = НаборЗаписей.Добавить();
Запись.Период = Период;
Запись.Валюта = Валюта;