Учет продукции на складе средствами программы 1С:Предприятие на примере ООО "Альтаир"

Автор работы: Пользователь скрыл имя, 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 Создание колонок в таблице
ЗАКЛЮЧЕНИЕ
ЛИТЕРАТУРА

Прикрепленные файлы: 1 файл

Учет продукции на складе.doc

— 623.00 Кб (Скачать документ)

     Очистим список. Метод УдалитьВсе() удаляет все строки из таблицы значений

     ВыбНоменклатура.УдалитьВсе();

     Метод ВыбратьСтроки() предоставляет возможность  перебирать строки таблицы значений(открывает выборку). Дальнейшая выбора осуществляется при помощи метода ПолучитьСтроку()

     СписокНоменклатуры.ВыбратьСтроки();

     Метод ПолучитьСтроку()выбирает следующую строку таблицы значений в последовательности выборки Возвращаемое число: 1 – если строка выбрана успешна, 0 – если строка не выбрана (выборка закончилась)

     Пока  СписокНоменклатуры.ПолучитьСтроку() = 1 Цикл

     Метод ДобавитьЗначение добавляет значение в его символьное представление  в конец списка. Представление используется в дальнейшем для удобства сортировки и выбора значений из списка (отражается в диалоговом окне выбора)

     ВыбНоменклатура.ДобавитьЗначение(СписокНоменклатуры.Номенклатур);

     КонецЦикла;

     Таким образом, оператор цикла Пока предназначен для циклического повторения операторов, находящихся внутри конструкции Цикл … КонецЦикла. Цикл выполняется пока логическое выражение - истина. Т.е выборка строк номенклатуры будет производится до тех пор пока не останется ни одной строки стоки удовлетворяющей условиям выборки.

 

     2.5.2 Создание списка поставщиков

     ВыбПоставщик.УдалитьВсе();

     СписокКонтрагентов.ВыбратьСтроки();

     Пока  СписокКонтрагентов.ПолучитьСтроку() = 1 Цикл

     ВыбПоставщик.ДобавитьЗначение(СписокКонтрагентов.Контрагенты);

     КонецЦикла;

     Создание  списка поставщиков производится таким  же способом, как и создание списка номенклатуры.

     2.5.3 Создание объекта типа Запрос

     Функция СоздатьОбъект создает объект агрегатного  типа данных и возвращает ссылку на него. Данная функция обычно используется одновременно с неявным определением переменной и присвоением ей ссылки на объект агрегатного типа данных.

     Во  всех программных модулях доступ к атрибутам и методам запросов может выполняться только через переменную, созданную функцией СоздатьОбъект. Чтобы вызвать атрибут или метод объекта, имя этого атрибута, метода (с указанием необходимых параметров пишется через точку после имени переменной. При создании объекта типа «Запрос» в качестве параметра функции СоздатьОбъект используют ключевое слово Запрос.

     Запрос = СоздатьОбъект("Запрос");

     ТекстЗапроса =

     "//{{ЗАПРОС(Сформировать)

     "//}}ЗАПРОС

     Текст описания запроса на языке запросов состоит из последовательности операторов. Концом оператора является символ «;». Операторы могут записываться в  любом порядке, Начинается построение запроса с прочтения временного периода, который указан пользователем на форме. Затем переменным запроса присваиваются ссылки на агрегатные типы данных, по которым будет проходить отбор. Далее следуют внутренние переменные, функции запроса, возвращающие количественное значение и на конец группировка отобранной в запросе информации. Кроме того запрос содержит указанные пользователем условия отбора.

     С помощью переменных запроса происходит обращение к требуемым данным.

     Этот  запрос совершает очень полезную работу: он группирует всю номенклатуру по партиям и поставщикам. При этом сначала идет группировка по номенклатуре, а затем по поставщику. Все переменные запроса ссылаются на регистры. Кроме того, он подсчитывает, сколько товара пришло, есть в наличии и сколько было продано.

     Работа  команды при формировании запросов к журналам расчетов зависит от того, используется ключевое слово "Период" или нет. Применение конструкции «Период С … По … » приводит к тому, что выборка записей из журнала расчетов осуществляется в разрезе расчетных периодов конкретного журнала, фактически, по времени ввода строк журнала расчетов в систему.

     |Период  с ВыбНачПериода по ВыбКонПериода;

     Затем в запросе идут внутренние переменные — это переменные, объявленные в тексте описания запроса. Именем переменной может быть любая последовательность букв, цифр и знаков подчеркивания. Имена внутренних переменных не должны совпадать с зарезервированными словами языка запросов. Распознавание имен переменных, названий операторов, процедур и функций ведется без учета регистра букв.

     Внутренние  переменные используются в тексте запроса для образования ссылок на объекты конфигурации, чтобы использовать их при построении таких операторов запроса, как Группировка, Функция, Условие.

     В объявлении внутренней переменной можно указывать несколько вариантов <ОписанияПеременной>. Все описания должны указывать на один и тот же тип данных (число, строку, справочник или документ). Переменной, указывающей на разные справочники или документы присваивается тип данных «Справочник неопределенного вида» или «Документ неопределенного вида» соответственно.

     |Фирма  = Регистр.ПартииНаличие.Фирма;

     |Номенклатура = Регистр.ПартииНаличие.Номенклатура;

     |Партия = Регистр.ПартииНаличие.Партия;

     |Поставщик  = Регистр.ПартииНаличие.Партия.Поставщик;

     |Количество = Регистр.ПартииНаличие.Количество;

     Если  использовать такую внутреннюю переменную для образования Группировки, то она будет означать следующее: пройти по регистру "Номенклатура", по регистру "Партия", по регистру "Поставщик", по регистру "Количество" и вычислить заданные в запросе Функции и выбрать значения "Поставщиков", для которых значения хотя бы одной функции будет ненулевой. Здесь мы видим, что формирование запроса по регистрам имеет некоторые особенности (обязательно наличие Функций, причем их вычисленные значения должны быть отличны от нуля, только в этом случае найденные объекты включаются во временный набор данных формируемый запросом).

     Оператор  Функция предназначен для вычисления и накопления некоторых численных  значений в процессе формирования выборки  по запросу.

     Кроме того, при формировании временного набора данных запрос специально формирует итоговые записи, в которые заносит накопленные значения вычисленных функций для каждой вложенной Группировки. Операторы функций в запросе можно опускать, тогда запрос просто не будет ничего вычислять, а просто во временный набор данных заносятся записи со значениями Группировок. Однако это справедливо только для работы запросов по справочникам и по документам. При работе запроса по регистрам обязательно наличие Функций, причем, только в том случае, когда их вычисленные значения отличны от нуля (хотя бы одной из заданных Функций), найденные объекты включаются во временный набор данных, формируемый запросом. Если при работе запроса по регистрам в тексте запроса операторы функций опущены, то программа не выдаст никакого сообщения об ошибке, пройдет по всем Группировкам, не вычислит никаких значений Функций и, соответственно, ничего не запишет во временном файле.

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

     В тексте запроса, при описании оператора  Функция можно использовать необязательное ключевое слово Когда, использование которого в операторе означает, что вычисление функции следует производить только при условии, что значение логического выражения, заданного в параметре ключевого слова является истина.

     Синтаксис:

     Функция<ИмяФункции>=<ТипФункции>(<Параметр>!<Уточненный Параметр>) [Когда (<Условие>)];

     Параметры:

     <ИмяФункции> Имя, которое присваивается функции. Поэтому имени можно в дальнейшем обращаться к значению вычисленной функции из вызывающего программного модуля как к атрибуту запроса. Данную внутреннюю переменную заранее объявлять не нужно. Она фактически неявно объявляется в операторе Функция.

     <ТипФункции> Ключевое слово одной из встроенных функций языка.

     <Параметр> Имя объявленной ранее внутренней переменной, значение которой используется как параметр встроенной функции <ТипФункции>. < У точненныйПараметр> Конкретизация объявленной ранее внутренней переменной, значение которой используется как аргумент встроенной функции.

     < ТипФункции> Необязательное добавочное ключевое слово, использование которого в команде означает, что вычисление функции следует производить только при условии, когда заданное логическое выражение <Условие> истинно.

     <Условие> Логическое выражение встроенного языка 1С:Предприятие. В логическом выражении могут участвовать как внутренние, так и внешние переменные запроса. Используется только после ключевого слова Когда.

     Типы  функции:

     НачОст Вычисляет начальный остаток для выбранных по запросу значений параметра.

     |Функция  КоличествоНачОст = НачОст(Количество);

     КонОст Вычисляет конечный остаток для выбранных по запросу значений параметра.

     |Функция  КоличествоКонОст = КонОст(Количество);

     Приход Вычисляет приход для выбранных по запросу значений параметра.

     |Функция  КоличествоПриход = Приход(Количество);

     Расход Вычисляет расход для выбранных по запросу значений параметра.

     |Функция  КоличествоРасход = Расход(Количество);

     Типы  функций НачОст, КонОст, Приход, Расход можно использовать только с параметрами, указывающими на ресурсы регистров остатков. Для ресурсов регистров остатков другие типы функций вызывать нельзя.

     Таким образом, данные функции будут возвращать количественное значение товара, согласно номенклатуре и поставщикам, которых пользователь указал на форме отчета.

     Группировка позволяет получить следующее значение выборки запроса на заданном уровне группировки.

     Синтаксис:

     Группировка (<Группировка> , <Направление>)

     Параметры:

     <Группировка> Выражение, содержащее порядковый номер или имя группировки.

     <Направление> Необязательный параметр. Числовое выражение:

     1 — выборка значений группировки по возрастанию; -1 (минус единица) — выборка значений группировки по убыванию. Значение по умолчанию: 1.

     Возвращаемое  значение:

     Число: 1 — если получено следующее значение выборки запроса, 0 — если нет.

     Описание:

     Метод Группировка служит для организации цикла получения данных из выборки, сформированной в результате работы метода Выполнить. Метод Группировка позиционирует в выборке очередную строку в порядке, определенном параметром <Группировка>. Нельзя использовать метод группировка, задавая в качестве параметра младшие группировки, не использовав предварительно этот метод для позиционирования по старшим группировкам. Старшинство группировок определяется порядком их следования в тексте запроса.

     Объекты, по которым запрос будет обрабатывать информацию и те значения, которые он будет выбирать, упорядочивать и группировать во временном наборе данных, полностью определяются той внутренней переменной, на базе которой объявлена группировка.

     Несколько операторов Группировка, следующих  друг за другом в описании запроса, создают вложенные группировки запроса. Первая группировка — самая старшая, в нее будет вложена следующая группировка, далее будет вложена следующая и т.д. По смыслу, вложенная группировка осуществляет более детальный просмотр объекта внешней группировки. Например, если во внешней группировке мы просматриваем регистр, то во вложенной группировке можно просмотреть документы движений этого регистра, а далее можно сформировать группировку по номерам строк этих документов.

     Без групп Необязательное добавочное ключевое слово, использование которого назначает вывод в запрос только простых элементов справочников (исключая группы). Используется только для группировок, построенных на основе внутренней переменной типа «справочник» или для предопределенных группировок, задающих временной интервал (Год, Месяц, Квартал, Неделя, День). Для предопределенных временных группировок подразумевается, что в запрос будут включены любые значения данных (в том числе нулевые) в каждый заданный момент времени с даты начала запроса по дату конца запроса (интервал задается оператором Период с . . . ). Для группировок по справочникам подразумевается, что в запрос будут включены любые значения данных (в том числе нулевые) для каждого допустимого элемента справочника.

Информация о работе Учет продукции на складе средствами программы 1С:Предприятие на примере ООО "Альтаир"