Файл: Разработка конфигурации «Покупка сырья и материалов» в среде 1С: ПРЕДПРИЯТИЕ 8.3.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 03.07.2023

Просмотров: 57

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Описание разработанных подсистем в среде 1С:Предприятие

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

Документы в 1С — это электронные аналоги обычных бумажных документов, одно из основных понятий системы 1С:Предприятие. При помощи документов организуется ввод в систему информации о совершаемых хозяйственных операциях, а также ее просмотр и корректировка.

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

Регистры накопления - прикладные объекты конфигурации в системе 1С:Предприятие, которые используются для накопления информации о наличии и движении средств - товарных, денежных и других. Информация о хозяйственных операциях в регистры накопления вводится с использованием документов (регистраторов) и используется, например, для получения отчетных форм.

В настоящей конфигурации создана подсистема УчетМатериаловСырья.

В подсистему входят объекты:

Справочники

  • Номенклатура
  • ПроизводственныйОтдел
  • Поставщики
  • Договоры
  • Склад

Документы

  • ПоступлениеМатериалов
  • ПриходнаяНакладная

Перечисления

  • ДаНет
  • ЦелостностьПартии
  • ЗаявкаНаЗакупку

Отчеты

  • ОстаткиНоменклатуры

Регистры сведений

  • ЗаканныеМатериалы

Регистры накопления

  • МатериалыОплата
  • МатериалыПоставка
  • ОстаткиМатериалов

Описание разработанного интерфейса пользователя в среде 1С:Предприятие

Сценарий диалога (рис.1):

Сценарий диалога (рис.1)

Контрольный пример реализации проекта в среде 1С:Предприятие и его описание


Создадим пустую базу в конфигураторе, назовем ее «ПупОк» (рис.2)

Создание конфигурации Рис.2

Организуем подсистему Учет Материалов и сырья (рис.3)

Подсистема учет материалов и сырья рис.3

Сначала добавим перечисления : ДаНет, ЦелостностьПартии и ЗаявкаНаЗакупку , которые нам понадобятся в дальнейшем. Состав перечислений виден на Рис.4

Перечисления рис.4

Сконфигурируем простые справочники Номенклатура и ПроизводственныйОтдел (рис.5).

Справочники Номенклатура и ПроизводственныйОтдел рис. 5

Реквизиту НаименованиеМатериала в справочнике ПроизводственныйОтдел присвоим тип ссылка на справочник Номенклатура рис. 6

Присвоение типа ссылки НаименованиеМатериала рис. 6

Все сформированные объекты конфигурации надо включить в состав подсистемы УчетМатериалов (рис.7)

Состав подсистемы УчетМатериалов рис. 7

Далее заведем справочник Поставщики и справочник Договоры (рис. 8). Отметим, что справочник Договоры кроме реквизитов имеет еще и табличную часть Спецификация.

Справочники Поставщики и Договоры рис. 8

В справочнике Договоры несколько реквизитов имеют тип ссылки :

НаименованиеМатериала – СправочникСсылка.Номенклатура

Поставщик – СправочникСсылка.Поставщики

Состояние - ПеречислениеСсылка.ЦелостностьПартии.

Для дальнейшего тестирования программы заполним в режиме Предприятие по нескольку строк в открытых нами справочниках. Сначала заполняем простые справочники, потом – справочники с реквизитами ссылками (рис. 9)

Заполнение простых справочников рис. 9

Далее добавляем в конфигурацию документы.

Сконфигурируем в дереве объектов конфигурации объект документ ПоступлениеМатериалов с реквизитами и табличной частью Номенклатура (рис.10).

Документ ПоступлениеМатериалов рис.10

Регистров накопления у нас в конфигурации пока нет – закладка Движение для документа остается пустой. Поскольку нам надо будет писать свою обработку документа, а пишется программный код в модуле формы документа, то и создадим эту самую форму (рис.11).


Модуль формы ПоступлениеМатериалов рис. 11

Делаем все по умолчанию, Форма – Добавить – ФормаДокумента.

Использовать данный документ будем при поступлении на склад как новых материалов, так и заменённых по гарантии.

Для учета поступления материалов заводим регистр накопления МатериалыОплата с измерениями, ресурсами и реквизитами (рис.12).

Регистр накопления МатериалыОплата рис.12

В закладке Регистраторы указываем наш документ ПоступлениеМатериалов. Сохраняем конфигурацию.

Возвращаемся по дереву объектов в документ ПоступлениеМатериалов. На закладке Движение выбираем регистр МатериалыОплата, запускаем Конструктор движений и заполняем поле Выражение значениями реквизитов документа (Рис.13).

ПоступлениеМатериалов закладке Движение рис.13

Жмем ОК и попадаем в Модуль объекта документа , где и видим уже созданный Конструктором движения регистров программный код (рис.14).

Модуль объекта документа рис.14

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

При поступлении нового материала (покупка) в справочнике Материалы должна добавляться строка с уникальным номером материала и соответствующими (из документа) реквизитами. При этом реквизит СостояниеМатериала будет иметь значение «Новый», а реквизит Местоположение – значение «Склад». Табличная часть справочника Материалы при этом не заполняется.

По алгоритму работы программы изначально надо занести каждый материал со своим уникальным номером в справочник Материалы документом ПоступлениеМатериалов.

При поступлении материала по гарантии считается, что материал с таким номером уже есть в справочнике Материалы, и в этом случае при проведении документа ПоступлениеМатериалов, добавляется строка в Табличную часть Возврат и меняются значения реквизитов Местонахождение и Состояние у текущего материала.

Теперь можно провести первую пробу работоспособности программы. В Предприятие создаем документ ПоступлениеМатериалов (рис.15).

Документ ПоступлениеМатериалов рис.15

Нажимаем кнопку Провести и закрыть. Переходим в справочник Материалы и видим, что в нем появилась строчка с реквизитами купленного материала с пустой табличной частью (рис.16).


Реквизиты купленного материала с пустой табличной частью рис.16

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

Для учета поставки материала заводим для регистра сведений ЗаказанныеМатериалы с измерениями и реквизитами (рис.17).

Регистр сведений ЗаказанныеМатериалы рис.17

В закладке Регистраторы указываем наш документ ПоступлениеМатериалов.

Сохраняем конфигурацию. Возвращаемся по дереву объектов в документ ПоступлениеМатериалов. На закладке Движение выбираем регистр МатериалыПоставка, запускаем Конструктор движений и заполняем поле Выражение значениями реквизитов документа. Жмем ОК и попадаем в Модуль объекта документа, где и видим уже созданный Конструктором движения регистров программный код (рис.18).

Регистр МатериалыПоставка рис.18

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

Процедура ОбработкаПроведения(Отказ, Режим)

// используемые справочники

Договоры = Справочники.Договоры;

Материалы = Справочники.Материалы;

// конец вставки используемые справочники

// регистр МатериалыПоставка

Движения.МатериалыПоставка.Записывать = Истина;

Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл

Движение = Движения.МатериалыПоставка.Добавить();

Движение.Номенклатура = НоменклатураМатериала;

Движение.СнятМатериалНомер = ТекСтрокаНоменклатура.СнятМатериалНомер;

Движение.ПоступилМатериалНомер=

ТекСтрокаНоменклатура.ПоступилМатериалНомер;

Движение.МодельМатериала = Объект;

Движение.АдресОбъекта = ТекСтрокаНоменклатура.АдресОбъекта;


Движение.АдресОбъекта =

ТекСтрокаНоменклатура.АдресОбъекта;

Движение.НаименованиеМатериала = ТекСтрокаНоменклатура.НаименованиеМатериала;

Движение.Ответственный = Ответственный;

Движение.НомерДоговора = ТекСтрокаНоменклатура.НомерДоговора;

// изменяем справочник Договоры

СтрокаНаименования = ТекСтрокаНоменклатура.АдресОбъекта;

НайденнаяСсылка = Договоры.НайтиПоРеквизиту("АдресОбъекта",СтрокаНаименования);

Если НЕ НайденнаяСсылка = Договоры.ПустаяСсылка()

Тогда ТекущийОбъект =

Договоры.НайтиПоРеквизиту("АдресОбъекта",СтрокаНаименования).ПолучитьОбъект();

ТекущийОбъект.НомерМатериалаСейчас =

ТекСтрокаНоменклатура.МатериалПоставлен;

НоваяСтрока = ТекущийОбъект.Спецификация.Добавить();

НоваяСтрока.ДатаПоставки = Дата;

НоваяСтрока.Артикул = ТекСтрокаНоменклатура.НаименованиеМатериала;

НоваяСтрока.НаименованиеМатериала =

ТекСтрокаНоменклатура.ПоставленМатериал

НоваяСтрока.НомерЗаявки =

ТекСтрокаНоменклатура.ЗаявкаМатериал;

НоваяСтрока.Ответственный = Ответственный;

НоваяСтрока.НомерДоговора = ТекСтрокаНоменклатура.НомерДоговора;

ТекущийОбъект.Записать();

КонецЕсли;

// изменяем справочник Материалы - поставка

СтрокаНаименования = ТекСтрокаНоменклатура.ПоставленМатериал;

НайденнаяСсылка = Материалы.НайтиПоРеквизиту("Номер",СтрокаНаименования);

Если НЕ НайденнаяСсылка = Материалы.ПустаяСсылка()

тогда ТекущийОбъект =

Материалы.НайтиПоРеквизиту("Номер",СтрокаНаименования).ПолучитьОбъект();

Строка = " ";

Строка = Строка + Объект + " " +

ТекСтрокаНоменклатура.АдресОбъекта + " " +

ТекСтрокаНоменклатура.АдресОбъекта;

ТекущийОбъект.МестоНахождения = Строка;

ТекущийОбъект.Записать();

КонецЕсли;

// заявка на поставку

СтрокаНаименования = ТекСтрокаНоменклатура.НомерЗаявки;

НайденнаяСсылка = Материалы.НайтиПоРеквизиту("Номер",СтрокаНаименования);

Если НЕ НайденнаяСсылка = Материалы.ПустаяСсылка()

тогда ТекущийОбъект =

Материалы.НайтиПоРеквизиту("Номер",СтрокаНаименования).ПолучитьОбъект();

ТекущийОбъект.МестоНахождения = "Склад";

ТекущийОбъект.Состояние = Перечисления.ЗаявкаПроработка;

ТекущийОбъект.Записать();

КонецЕсли;

// конец изменения справочников

КонецЦикла;

КонецПроцедуры;

Создание справочника отчеты