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

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

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

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

Добавлен: 23.04.2023

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

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

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

ПРИЛОЖЕНИЯ

Процедура ЗаполнитьОстатокПоЗаказуСервер(Основание) Экспорт

Результат=РаботаСРегистрами.ПолучитьОстатокПоЗаказу(Основание);

Для Каждого Значение Из Результат Цикл

НоваяСтрока=Товары.Добавить();

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

НоваяСтрока.Количество = Значение.Остаток;

КонецЦикла;

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

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

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

// регистр Остатки Приход

Движения.Остатки.Записывать = Истина;

Для Каждого ТекСтрокаТовары Из Товары Цикл

Движение = Движения.Остатки.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Товар = ТекСтрокаТовары.Товар;

Движение.Количество = ТекСтрокаТовары.Количество;

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

Движение.ЗакупочнаяЦена = ТекСтрокаТовары.ЦенаЗакупки;

КонецЦикла;

// регистр Заказы Расход

Движения.Заказы.Записывать = Истина;

Для Каждого ТекСтрокаТовары Из Товары Цикл

Движение = Движения.Заказы.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

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

Движение.Товар = ТекСтрокаТовары.Товар;

Движение.Количество = ТекСтрокаТовары.Количество;

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

КонецЦикла;

// регистр Закупки

Движения.Закупки.Записывать = Истина;

Для Каждого ТекСтрокаТовары Из Товары Цикл

Движение = Движения.Закупки.Добавить();

Движение.Период = Дата;

Движение.Клиент = Поставщик;

Движение.Товар = ТекСтрокаТовары.Товар;

Движение.Количество = ТекСтрокаТовары.Количество;

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

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

СуммаДокумента = Товары.Итог("Сумма");

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

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Заказ") Тогда

Основание = ДанныеЗаполнения;

ЗаполнитьОстатокПоЗаказуСервер(ДанныеЗаполнения);

КонецЕсли;

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

Процедура Печать(ТабДок, Ссылка) Экспорт

//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)

Макет = Документы.Закупка.ПолучитьМакет("Печать");


Запрос = Новый Запрос;

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

"ВЫБРАТЬ

| Закупка.Дата,

| Закупка.Номер,

| Закупка.Основание,

| Закупка.Поставщик,

| Закупка.СуммаДокумента,

| Закупка.Товары.(

| НомерСтроки,

| Товар,

| Количество,

| ЦенаЗакупки,

| Сумма

| )

|ИЗ

| Документ.Закупка КАК Закупка

|ГДЕ

| Закупка.Ссылка В (&Ссылка)";

Запрос.Параметры.Вставить("Ссылка", Ссылка);

Выборка = Запрос.Выполнить().Выбрать();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

Шапка = Макет.ПолучитьОбласть("Шапка");

ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");

ОбластьТовары = Макет.ПолучитьОбласть("Товары");

Подвал = Макет.ПолучитьОбласть("Подвал");

ТабДок.Очистить();

ВставлятьРазделительСтраниц = Ложь;

Пока Выборка.Следующий() Цикл

Если ВставлятьРазделительСтраниц Тогда

ТабДок.ВывестиГоризонтальныйРазделительСтраниц();

КонецЕсли;

ТабДок.Вывести(ОбластьЗаголовок);

Шапка.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Шапка, Выборка.Уровень());

ТабДок.Вывести(ОбластьТоварыШапка);

ВыборкаТовары = Выборка.Товары.Выбрать();

Пока ВыборкаТовары.Следующий() Цикл

ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);

ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());

КонецЦикла;

Подвал.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Подвал);

ВставлятьРазделительСтраниц = Истина;

КонецЦикла;

//}}

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

&НаСервере

Функция ПолучитьОстатокПоЗаказу(Заказ) Экспорт

Запрос = Новый Запрос;

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

"ВЫБРАТЬ

| ЗаказыОстатки.Товар КАК Товар ,

| ЗаказыОстатки.КоличествоОстаток КАК Остаток

|ИЗ

| РегистрНакопления.Заказы.Остатки(&Момент, ДокументЗаказа = &ДокументЗаказа) КАК ЗаказыОстатки";

Граница= Новый Граница(КонецДня(ТекущаяДата()),ВидГраницы.Включая);

Запрос.УстановитьПараметр("Момент",Граница);

Запрос.УстановитьПараметр("ДокументЗаказа",Заказ);

Результат = Запрос.Выполнить().Выгрузить();

Возврат Результат;

КонецФункции

&НаСервере

Процедура ЗаписатьНаборВБазу(Объект,Режим) Экспорт

Если Режим = "Продажа" Тогда

Набор = РегистрыНакопления.Продажа.СоздатьНаборЗаписей();

Набор.Отбор.Регистратор.Значение = Объект.Ссылка;

Товары = Объект.Товары;

Клиент = Объект.Клиент;

Для Каждого Строка Из Товары Цикл

Запись=Набор.Добавить();

Запись.Период = Объект.Дата;

Запись.Товар = Строка.Товар;

Запись.Клиент =Клиент;