Файл: Разработка прикладного решения для автоматизации складского учета для компании Coffee like..pdf
Добавлен: 24.05.2023
Просмотров: 165
Скачиваний: 4
Движения.ИсполнениеЗаказовПоставщиками.Записывать = Истина;
Для Каждого ТекСтрокаПоставка Из Поставка Цикл
Движение = Движения.ИсполнениеЗаказовПоставщиками.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Поставщик = Поставщик;
Движение.Товар = ТекСтрокаПоставка.Наименование;
Движение.Количество = ТекСтрокаПоставка.Количество;
КонецЦикла;
// регистр ПоступлениеТовараНаСклад Приход
Движения.ПоступлениеТовараНаСклад.Записывать = Истина;
Для Каждого ТекСтрокаПоставка Из Поставка Цикл
Движение = Движения.ПоступлениеТовараНаСклад.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Склад = Склад;
Движение.Наименование = ТекСтрокаПоставка.Наименование;
Движение.Поставщик = Поставщик;
Движение.Сотрудник = Сотрудник;
Движение.Количество = ТекСтрокаПоставка.Количество;
Движение.Цена = ТекСтрокаПоставка.Цена;
Движение.Стоимость = ТекСтрокаПоставка.Сумма;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Документ «Приходная накладная», модуль формы: НаКлиенте
Процедура ПоставкаКоличествоПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Поставка.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры
&НаКлиенте
Процедура ПоставкаЦенаПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Поставка.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти)
КонецПроцедуры
НаКлиенте
Процедура Подбор(Кнопка)
ПараметрыФормы = Новый Структура("ЗакрыватьПриВыборе, МножественныйВыбор", Ложь, Истина);
ОткрытьФорму("Справочник.Товары.ФормаВыбора",ПараметрыФормы, Элементы.Поставка);
КонецПроцедуры
НаКлиенте
Процедура ПоставкаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Для Каждого ВыбранныйЭлемент Из ВыбранноеЗначение Цикл
НоваяСтрока=Объект.Поставка.Добавить();
НоваяСтрока.Наименование=ВыбранныйЭлемент;
КонецЦикла
КонецПроцедуры
Документ «Заказ поставщику», модуль объекта:
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр ИсполнениеЗаказовПоставщиками Приход
Движения.ИсполнениеЗаказовПоставщиками.Записывать = Истина;
Для Каждого ТекСтрокаЗаказ Из Заказ Цикл
Движение = Движения.ИсполнениеЗаказовПоставщиками.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Поставщик = Поставщик;
Движение.Товар = ТекСтрокаЗаказ.Наименование;
Движение.Количество = ТекСтрокаЗаказ.Количество;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Процедура ОбработкаЗаполнения (ДанныеЗаполнения, СтандартнаяОбработка)
//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Поставщики") Тогда
// Заполнение шапки
Поставщик = ДанныеЗаполнения.Ссылка;
ОбъектОснование = ДанныеЗаполнения.Ссылка;
КонецЕсли;
//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
Документ «Расходная накладная», модуль объекта:
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр ОстаткиНаСкладе Расход
Движения.ОстаткиНаСкладе.Записывать = Истина;
Для Каждого ТекСтрокаВыбытие Из Выбытие Цикл
Движение = Движения.ОстаткиНаСкладе.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Склад = Склад;
Движение.Товар = ТекСтрокаВыбытие.Товар;
Движение.МОЛ = МОЛ2;
Движение.Количество = ТекСтрокаВыбытие.Количество;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Документ «Расходная накладная», модуль формы: НаКлиенте
Процедура ВыбытиеЦенаПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Выбытие.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти)
КонецПроцедуры
НаКлиенте
Процедура ВыбытиеКоличествоПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Выбытие.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти)
КонецПроцедуры
Документ «Прайс лист», модуль объекта:
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр ПрайсЛист Приход
Движения.ПрайсЛист.Записывать = Истина;
Для Каждого ТекСтрокаПрайс Из Прайс Цикл
Движение = Движения.ПрайсЛист.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Наименование = ТекСтрокаПрайс.Товар;
Движение.ЕдиницаИзмерения = ТекСтрокаПрайс.ЕдиницаИзмерения;
Движение.Цена = ТекСтрокаПрайс.Цена;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Документ «Заказ на склад», модуль формы: НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество*
СтрокаТабличнойЧасти.Цена;
КонецПроцедуры
НаКлиенте
Процедура ТоварыЦенаПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество*
СтрокаТабличнойЧасти.Цена;
КонецПроцедуры
Документ «Ввод начальных остатков», модуль объекта:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
// Определить, нужно ли обновлять дату в движениях
ОбновитьДатуДвижений = ЭтоНовый() ИЛИ Движения.ОстаткиНаСкладе.Модифицированность();
Если Не ОбновитьДатуДвижений Тогда
// Проверить, что дата изменилась
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
Дата
ИЗ
Документ.ВводНачальныхОстатков
ГДЕ Ссылка = &ТекущийДокумент";
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
ОбновитьДатуДвижений = Выборка.Дата <> Дата;
КонецЕсли;
// Установить всем новую дату, если нужно
Если ОбновитьДатуДвижений Тогда
Если Не Движения.ОстаткиНаСкладе.Выбран() И
Не Движения.ОстаткиНаСкладе.Модифицированность() Тогда
Движения.ОстаткиНаСкладе.Прочитать();
КонецЕсли;
Для Каждого ЗаписьРегистра Из Движения.ОстаткиНаСкладе Цикл
ЗаписьРегистра.Период = Дата;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр ОстаткиНаСкладе Приход
Движения.ОстаткиНаСкладе.Записывать = Истина;
Для Каждого ТекСтрокаВвод Из Ввод Цикл
Движение = Движения.ОстаткиНаСкладе.Добавить();