Дипломная работа: Автоматизация бизнес-процессов взаимоотношения с клиентами компании "БИЛАЙН"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
84
ПРИЛОЖЕНИЕ oc 1
Код oc модуля oc объекта oc (обрабатываем oc проведение, oc при oc котором oc
проверяются oc остатки oc и oc записываются oc движения oc по oc регистрам oc для oc
дальнейшего oc учета):
Процедура oc ОбработкаПроведения(Отказ, oc РежимПроведения)
для oc каждого oc текЗаявка oc из oc ЭтотОбъект.Заявка oc цикл
текНоменклатура oc = oc текЗаявка.Номенклатура;
текКоличество oc = oc текЗаявка.Количество;
запрос oc = oc новый oc запрос oc ("ВЫБРАТЬ
oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc | ОстаткиБилетовОстатки.КоличествоОстаток
oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc |ИЗ
oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc |
РегистрНакопления.ОстаткиБилетов.Остатки oc КАК oc
ОстаткиБилетовОстатки
oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc |ГДЕ
oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc oc | ОстаткиБилетовОстатки.Номенклатура oc = oc
&Номенклатура");
запрос.УстановитьПараметр("Номенклатура", oc
текНоменклатура);
выбор oc = oc
запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("КоличествоОстаток
");
если oc выбор.Количество() oc <> oc 0 oc тогда
остаток oc = oc выбор.Получить(0);
если oc остаток oc < oc текКоличество oc тогда
85
неХватает oc = oc текКоличество oc - oc остаток;
Сообщить oc ("Не oc хватает oc товара oc " oc + oc
текНоменклатура oc + oc oc " oc в oc количестве oc " oc + oc неХватает oc + oc " oc единиц." oc + oc
"Документ oc не oc может oc быть oc проведен." oc );
отказ oc = oc истина;
КонецЕсли;
Иначе oc
Сообщить oc ("Не oc хватает oc товара oc " oc + oc текНоменклатура oc + oc oc " oc
в oc количестве oc " oc + oc текКоличество oc + oc " oc единиц." oc + oc "Документ oc не oc может oc быть oc
проведен." oc );
oc oc oc oc oc oc oc oc oc oc oc oc отказ oc = oc истина;
КонецЕсли;
КонецЦикла;
если oc отказ oc = oc ложь oc тогда
Движения.ОстаткиБилетов.Записывать oc = oc истина;
Движения.Продажи.Записывать oc = oc истина;
для oc каждого oc текЗаявка oc из oc ЭтотОбъект.Заявка oc цикл
Движение oc = oc Движения.ОстаткиБилетов.Добавить();
Движение.Период oc = oc Дата;
Движение.ВидДвижения oc = oc
ВидДвиженияНакопления.Расход;
oc oc oc oc Движение.Номенклатура oc = oc текЗаявка.Номенклатура;
Движение.Количество oc = oc текЗаявка.Количество;
Движение oc = oc Движения.Продажи.Добавить();
Движение.Период oc = oc Дата;
Движение.Номенклатура oc = oc текЗаявка.Номенклатура;
Движение.Количество oc = oc текЗаявка.Количество;
Движение.Сумма oc = oc текЗаявка.Стоимость;
86
Движения.Продажи.Записать();
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Код oc формы oc документа oc (автоматически oc проставляем oc стоимость oc при oc
выборе oc номенклатуры oc и oc изменении oc ее oc количества oc и oc автоматически oc
вычисляем oc общую oc сумму oc Заявка):
&НаКлиенте
Процедура oc ЗаявкаКоличествоПриИзменении(Элемент)
ТекущаяСтрока oc = oc элементы.Заявка.ТекущиеДанные.НомерСтроки;
ЗаявкаКоличествоПриИзмененииСервер(ТекущаяСтрока);
КонецПроцедуры
&НаСервере
Процедура oc ЗаявкаКоличествоПриИзмененииСервер(НомерСтроки)
ТекущиеДанные oc = oc Объект.Заявка.Получить(НомерСтроки oc - oc 1);
Цена oc = oc
Справочники.Номенклатура.НайтиПоКоду(ТекущиеДанные.Номенклатур
а.Код).Цена;
ТекущиеДанные.Стоимость oc = oc oc ТекущиеДанные.Количество oc * oc Цена; oc
КонецПроцедуры
&НаКлиенте
Процедура oc ПередЗаписью(Отказ, oc ПараметрыЗаписи)
ПередЗаписьюНаСервере();
КонецПроцедуры
&НаСервере
Процедура oc ПередЗаписьюНаСервере()
Объект.СуммаЗаявкаа oc = oc Объект.Заявка.Итог("Стоимость");
Источник: https://baza.diplomsite.ru/previewfile/1684