Автор работы: Пользователь скрыл имя, 01 Мая 2012 в 19:09, курсовая работа
В первой части описываются: общая характеристика предприятия, ассортиментный перечень товаров, необходимая документация при учете готовой продукции на складе (первичные учетные документы, поступление готовой продукции, порядок учета выданной готовой продукции, возврат и выбытие готовой продукции), оплата поставок.
Вторая часть содержит описание основных понятий системы, описание проектирования интерфейса отчета, написание и разработку программного кода.
ВВЕДЕНИЕ
1. Краткая характеристика ООО «Альтаир»
1.1 Регистрация индивидуального предпринимателя
1.2 Ассортиментный перечень товаров
1.3 Учет поступления и оплаты товаров
1.4 Заказ и поставка товаров
2. Разработка отчета с помощью программы "1С:Торговля и склад"
2.1 Постановка задачи
2.2 Краткое описание основных понятий прогаммы "1С:Торговля и склад"
2.3 Создание формы отчета (Диалога)
2.4 Построение интерфейса диалога
2.5 Написание программного кода отчета
2.5.1 Создание списка номенклатуры для составления запроса
2.5.2 Создание списка поставщиков
2.5.3 Создание объекта типа Запрос
2.5.4 Подготовка к заполнению выходных форм данными запроса
2.5.5 Заполнение полей "Заголовок"
2.5.6 Заполнение полей Номенклатура
2.5.7 Заполнение полей Поставщик
2.5.8 Вывод заполненной формы
2.5.9 Процедура ДобавитьКонтрагента(МножественныйВыбор)
2.5.10 Процедура ОбработкаПодбора(Элемент,КонтекстФормы)
2.5.11 Создание списков для фильтра
2.5.12 Создание колонок в таблице
ЗАКЛЮЧЕНИЕ
ЛИТЕРАТУРА
СписокКонтрагентов.
В итоге при соединении всех этих строк программы в модуле отчета программный код запроса будет иметь следующий вид:
Перем ВыбНоменклатура;
Перем ВыбПоставщик;
//***********************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//создаем
список номенклатуры для
ВыбНоменклатура.
СписокНоменклатуры.
Пока
СписокНоменклатуры.
ВыбНоменклатура.
КонецЦикла;
ВыбПоставщик.УдалитьВсе()
СписокКонтрагентов.
Пока
СписокКонтрагентов.
ВыбПоставщик.
КонецЦикла;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период
с ВыбНачПериода по
|Фирма = Регистр.ПартииНаличие.Фирма;
|Номенклатура
= Регистр.ПартииНаличие.
|Партия = Регистр.ПартииНаличие.Партия;
|Поставщик
= Регистр.ПартииНаличие.Партия.
|Количество
= Регистр.ПартииНаличие.
|Функция КоличествоНачОст = НачОст(Количество);
|Функция КоличествоКонОст = КонОст(Количество);
|Функция КоличествоПриход = Приход(Количество);
|Функция КоличествоРасход = Расход(Количество);
|Группировка Номенклатура без групп все;
|Группировка Поставщик;
|Условие(Фирма = ВыбФирма);
|Условие(Номенклатура в ВыбНоменклатура);
|Условие(Поставщик в ВыбПоставщик);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
//
Подготовка к заполнению
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("
Таб.ПрисоединитьСекцию("
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Номенклатура
Если (НеОтображатьНулевые = 0) или (Запрос.КоличествоНачОст <> 0) или (Запрос.КоличествоПриход <> 0) или (Запрос.КоличествоРасход <> 0) или (Запрос.КоличествоКонОст <> 0) Тогда
Таб.ВывестиСекцию("
Таб.ПрисоединитьСекцию("
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Поставщик
Если
ПустоеЗначение(Запрос.Партия.
Если (НеОтображатьНулевые = 0) или (Запрос.КоличествоНачОст <> 0) или (Запрос.КоличествоПриход <> 0) или (Запрос.КоличествоРасход <> 0) или (Запрос.КоличествоКонОст <> 0) Тогда
Таб.ПрисоединитьСекцию("
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("
КонецПроцедуры
Процедура
ДобавитьКонтрагента(
Перем ФормаПодбора;
ОткрытьПодбор("
ФормаПодбора.ВыборГруппы(
КонецПроцедуры
Процедура
ДобавитьНоменклатуру(
Перем ФормаПодбора;
ОткрытьПодбор("
ФормаПодбора.ВыборГруппы(
КонецПроцедуры
Процедура
ОбработкаПодбора(Элемент,
Если Элемент.Вид() = "Номенклатура" Тогда
КолонкаДляПоиска = 0;
СтрокаДляПоиска = 0;
Если
СписокНоменклатуры.
СписокНоменклатуры.
СписокНоменклатуры.
КонецЕсли;
КонецЕсли;
Если Элемент.Вид() = "Контрагенты" Тогда
КолонкаДляПоиска = 0;
СтрокаДляПоиска = 0;
Если
СписокКонтрагентов.
СписокКонтрагентов.
СписокКонтрагентов.
КонецЕсли;
КонецЕсли;
КонецПроцедуры
//Создаем списки для фильтра
ВыбНоменклатура
= СоздатьОбъект("СписокЗначений"
ВыбПоставщик
= СоздатьОбъект("СписокЗначений"
// создаем колонки в таблице
СписокНоменклатуры.
СписокКонтрагентов.
При
запуске итоги отчета5 будут отображаться
следующим образом:
ЗАКЛЮЧЕНИЕ
В процессе данной дипломной работы был создан внешний отчет с целью доработки программы «1С:Торговля и склад» под конкретное предприятие, показывающий движение определенных групп товаров по партиям за конкретный временной период. Он позволяет просмотреть сколько товара от конкретного поставщика поступило, сколько было продано, и сколько имеется в наличии в указанные пользователем сроки. При этом удобная форма диалога позволяет задавать все необходимые условия отбора: временной период, поставщика или группу поставщиков, товар или группу товаров, а так же дополнительное условие, позволяющее избежать на экран строк с нулевыми показателями. Таким образом, данный отчет может облегчить работу менеджеров магазинов при выборе и заказе товаров, пользующихся наибольшим потребительским спросом.
Данный отчет был построен на основе функции Запрос. Работа с запросами предполагает следующий порядок:
В стандартной конфигурации программы уже содержится такого типа отчет, он также показывает движение товаров по группам, но осуществляет выборку товаров только по одному поставщику, что не всегда является удобным. Кроме того, он имеет более усложненный интерфейс, а при выводе строк на экран отображает не только количество товара, но еще и его розничную стоимость, количественные и суммарные общие итоги. Все эти характеристики стандартного отчета, кажутся мне не очень удобными и нужными для реализации поставленной передо мной задачи.
Данный внешний отчет не является самостоятельной программой или её обязательной составляющей, и может использоваться только по средствам программы «1С:Торговля и склад».
В дальнейшем его применение возможно на любом предприятии, которое поддерживает работу данного программного продукта. По мере появления каких – либо требований или ошибок его можно будет доработать или усовершенствовать без изменений настроек конфигурации в целом.
Размещено на Allbest.ru