Автор работы: Пользователь скрыл имя, 13 Апреля 2013 в 11:07, отчет по практике
Производственный процесс связан с перемещением сырья и материалов из одного промышленного предприятия в другое, а также с перемещением готовой продукции из среды производства в среду потребления. Это перемещение невозможно без образования в определённых местах необходимых материальных запасов, для хранения которых нужны соответствующие складские устройства.
Основное назначение складов – хранение сырья, материалов и различных изделий. Кроме того, на складах выполняются работы, связанные с подготовкой материалов к производственному потреблению и централизованной доставке их непосредственным потребителям.
Особенностью системы программ 1С:Предприятие является возможность изменения конфигурации самим пользователем или организациями, специализирующимися на внедрении и поддержке программных продуктов фирмы "1С". Эта возможность позволяет обеспечить максимальное соответствие автоматизированной системы особенностям учета в конкретной организации.
Встроенный в систему язык программирования предназначен для специалистов, выполняющих конфигурирование системы для решения конкретной задачи автоматизированного учёта. Язык представляет собой предметно-ориентированный язык программирования, специально разработанный с учётом возможности его применения не только профессиональными программистами. В частности, все операторы языка имеют как русское, так и англоязычное написание, которое можно использовать одновременно в одном исходном тексте. При своей относительной простоте язык обладает некоторыми объектно-ориентированными возможностями, например, правила доступа к атрибутам и методам специализированных типов данных (документам, справочникам и т. п.) подобны свойствам и методам объектов, используемых в других объектно-ориентированных языках.
Для размещения текста программы на встроенном языке предназначены модули прикладного решения (например, модуль приложения, общие модули, модули объектов, модули форм и т. д.). Эти модули располагаются в различных местах конфигурации и имеют различное назначение.
Рассмотрим документ Реализация. В шапку документа добавлены два поля ввода: способ доставки и маршрут. Сделаем способ доставки по умолчанию Поставщик, т.к доставлять товар в основном будут водители компании “Бриджтаун Фудс”.
СпособДоставки = Перечисление.СпособДоставки.
Рассмотрим созданные
документы: РеестрНакладнойПоСкладуДоставк
Документ РеестрНакладнойПоСкла
Рассмотрим в модуле формы процедуру Заполнить(). Эта процедура нужна для того, чтобы при выборе даты и склада выводился полный список сформированных накладных со способом доставки Поставщик.
// Процедура заполняет табличную часть документами отгрузки
Процедура Заполнить()
// Предупредим пользователя
о перезаполнении табличной
Если Вопрос("При заполнении данные будут удалены . Продолжить?", "Да+Нет", 60) <> "Да" Тогда
Возврат;
Иначе
УдалитьСтроки();
КонецЕсли;
// Заполняем табличную часть документами отгрузи
// по выбранному складу со способом доставки "Поставщик"
Док = СоздатьОбъект("Документ.
Док.ВыбратьДокументы(ДатаДок, ДатаДок);
Пока Док.ПолучитьДокумент()=1 Цикл
Если Не (Док.Проведен() = 1) Тогда
Продолжить;
КонецЕсли;
Если
Не (Док.СпособДоставки = Перечисление.СпособДоставки.
Продолжить;
КонецЕсли;
Если Не (Док.Склад = Склад) Тогда
Продолжить;
КонецЕсли;
НоваяСтрока();
Накладная = Док.ТекущийДокумент();
Контрагент = Док.Контрагент;
Маршрут = Док.Маршрут;
Сумма = Док.СуммаВзаиморасчетов;
КонецЦикла;
КонецПроцедуры
Процедура Сформировать() формирует документ "ПередачаТМЦЭкспедитору" по выбранному маршруту.
Процедура Сформировать()
Если ВыбМаршрут.Выбран() = 0 Тогда
Предупреждение("Для
формирования передачи ТМЦ
Возврат;
КонецЕсли;
// Проверяем, есть уже такой документ или нет - перезаписываем или формируем новый.
ЕстьДокумент = 0;
Док = СоздатьОбъект("Документ.
Док.ВыбратьДокументы(ДатаДок,
Пока Док.ПолучитьДокумент()=1 Цикл
Если Док.ПометкаУдаления() = 1 Тогда
Продолжить;
КонецЕсли;
Если (Док.Маршрут = ВыбМаршрут) И (Док.Склад = Склад) Тогда
Если Вопрос("Передача ТМЦ эскспедитору по маршруту "+ СокрЛП(ВыбМаршрут)+" уже существует, перезаписать его?", "Да+Нет", 60) <> "Да" Тогда
Возврат;
КонецЕсли;
Если Док.Проведен() = 1 Тогда
Док.СделатьНеПроведенным();
КонецЕсли;
ДокПередачи = Док;
ЕстьДокумент = 1;
Прервать;
КонецЕсли;
КонецЦикла;
// Если документа нет, создаем новый
Если ЕстьДокумент = 0 Тогда
ДокПередачи
= СоздатьОбъект("Документ.
ДокПередачи.Новый();
КонецЕсли;
ДокПередачи.ДатаДок = ДатаДок;
ДокПередачи.ДокОснование = ТекущийДокумент();
ДокПередачи.Склад = Склад;
ДокПередачи.Маршрут = ВыбМаршрут;
ДокПередачи.Маршрут = ВыбМаршрут;
ДокПередачи.УдалитьСтроки();
// Заполним табличную часть документа
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Если Маршрут = ВыбМаршрут Тогда
ДокПередачи.НоваяСтрока();
ДокПередачи.Накладная = Накладная;
ДокПередачи.Контрагент = Контрагент;
ДокПередачи.Сумма = Сумма;
КонецЕсли;
КонецЦикла;
ДокПередачи.Записать();
ДокПередачи.Провести();
Конт ="";
ОткрытьФорму(ДокПередачи.
КонецПроцедуры
Процедура ПриОткрытии()
ПриЗаписиПерепроводить(1);
КонецПроцедуры
При нажатии на кнопку Сформировать передачу ТМЦ открывается форма документа "ПередачаТМЦЭкспедитору"
При нажатии на кнопку Печать можно просмотреть в печатном виде складской отгрузочный лист. Он содержит такую информацию как: номер накладной, кто сдал товар, кто его принял, сколько и какого товара передали экспедитору.
Нажатие кнопки печать вызывает процедуру Печать().
// Печать Складского отгрузочного листа
Процедура Печать(СразуНаПринтер=0, Кол=1);
Т = СоздатьОбъект("Таблица");
Т.ИсходнаяТаблица("
ТЗ=СоздатьОбъект("
ТЗ.НоваяКолонка("Номенклатура"
ТЗ.НоваяКолонка("
ТЗ.НоваяКолонка("Количество");
ТЗ.НоваяКолонка("
СтрНомераНакладных = "";
КоличествоНакладных = 0;
Счетчик = 0;
// Перебираем строки документа - накладные
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
// Не рассматриваем накладные, помеченные на удаление и пустые строки
Если ПустоеЗначение(Накладная)
Продолжить;
КонецЕсли;
Если Накладная.ПометкаУдаления
Продолжить;
КонецЕсли;
// формируем список
номеров накладных и
Счетчик = Счетчик + 1;
Если СтрНомераНакладных = "" Тогда
СтрНомераНакладных = СтрНомераНакладных + СокрЛП(Накладная.НомерДок);
Иначе
СтрНомераНакладных = СтрНомераНакладных + "," + СокрЛП(Накладная.НомерДок);
КонецЕсли;
// Суммируем данные накладных по номенклатуре и количеству в таблицу значений
Накладная.ВыбратьСтроки();
Пока Накладная.ПолучитьСтроку(
ТЗ.НоваяСтрока();
ТЗ.Номенклатура = Накладная.Номенклатура;
ТЗ.Разновидность =
Накладная.Номенклатура.
ТЗ.Количество =Накладная.
ТЗ.КоличествоКор =
?(Накладная.Номенклатура.
КонецЦикла;
КонецЦикла;
// Выводим таблицу значений на печатной форме
Т.ВывестиСекцию("Шапка");
ТЗРазновидностей
= СоздатьОбъект("
ТЗ.Выгрузить(ТЗРазновидностей)
ТЗРазновидностей.Свернуть("
ТЗРазновидностей.Сортировать("
ТЗ.Свернуть("Номенклатура,
ТЗ.Сортировать("Разновидность,
ТЗРазновидностей.
Пока ТЗРазновидностей.
Т.ВывестиСекцию("
ТЗ.ВыбратьСтроки();
Ном=0;
Пока ТЗ.ПолучитьСтроку()=1 Цикл
Если
ТЗ.Разновидность<>
Продолжить;
КонецЕсли;
Ном=Ном+1;
Т.ВывестиСекцию("Товар");
КонецЦикла;
КонецЦикла;
Т.ВывестиСекцию("
Т.ВывестиСекцию("Подвал");
Т.Опции(0,0,0,0,"
Т.ПараметрыСтраницы(1,,1);
Если глПолучитьПолномочие("
Т.Защита(1);
Иначе
Т.Защита(0);
КонецЕсли;
Если СразуНаПринтер=1 Тогда
Т.КоличествоЭкземпляров(Кол);
Т.Напечатать(0);
Иначе
Т.ТолькоПросмотр(1);
Т.Показать("Складской отгрузочный лист","");
КонецЕсли;
КонецПроцедуры
Для получения сводной выходной информации используем объект метаданных, называемый «Отчет». В готовом виде он выглядит так:
Для реализации такого отчета необходимо в модуле формы написать код.
// Процедура генерации запроса Сформировать.
Процедура Сформировать()
Таб = СоздатьОбъект("Таблица");
// Таблица остатков
ТаблТ = СоздатьОбъект("
ТаблТ.НоваяКолонка("Группа","
ТаблТ.НоваяКолонка("Товар","
ТаблТ.НоваяКолонка("
ТаблТ.НоваяКолонка("
ТаблТ.НоваяКолонка("
ТаблТ.НоваяКолонка("
ТаблТ.НоваяКолонка("
ТаблТ.НоваяКолонка("
// Таблица групп номенклатуры
ТаблИт = СоздатьОбъект("
ТаблИт.НоваяКолонка("Группа","
// Таблица движений по группам номенклатуры
ТаблДв = СоздатьОбъект("
ТаблДв.НоваяКолонка("Группа","
ТаблДв.НоваяКолонка("Документ"
Информация о работе Отчет по практике в ЗАО “Бриджтаун Фудс”