Особенности конфигурации системы "1С:Предприятие" версии 8.0 на предприятии ООО "МегаЛинк"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?еменной("глТекущийПользователь"),"ВариантВыводаФормыЗаполнения");

Если ВариантВыводаФормыЗаполнения = Перечисления.ВариантыВыводаФормыЗаполнения.ВызыватьВсегда Тогда

// тут заполнять не надо - откроется форма выбора

мОткрыватьФормаЗаполненияПоЗаказу = Истина;

Иначе

// Заполним табличные части неполученными ТМЦ (резервом) по заказу покупателя.

ЗаполнитьТабличнуюЧастьПоЗаказуПокупателяУпр(Товары, Основание, ВариантВыводаФормыЗаполнения);

Если Не мОткрыватьФормаЗаполненияПоЗаказу Тогда

ЗаполнитьТабличнуюЧастьПоЗаказуПокупателяУпр(ВозвратнаяТара, Основание, ВариантВыводаФормыЗаполнения);

Если Не мОткрыватьФормаЗаполненияПоЗаказу Тогда

ЗаполнитьУслугиПоОстаткамУпр();

КонецЕсли;

КонецЕсли;

// Может, в процессе заполнения обнаружены нехватки и надо вызвать форму заполнения

// Тогда почистим табличные части

Если мОткрыватьФормаЗаполненияПоЗаказу = Истина Тогда

Товары.Очистить();

ВозвратнаяТара.Очистить();

Услуги.Очистить();

КонецЕсли;

КонецЕсли;

КонецЕсли;

КонецЕсли;

Если ТипЗнч(Основание) = Тип("ДокументСсылка.СчетНаОплатуПокупателю") Тогда

СкопироватьТовары(Основание);

СкопироватьВозвратнуюТару(Основание);

СкопироватьУслуги(Основание);

КонецЕсли;

ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда

// Заполним реквизиты шапки по документу основанию.

Организация = Основание.Организация;

Подразделение = Основание.Подразделение;

ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия;

ВидПередачи = Перечисления.ВидыПередачиТоваров.СоСклада;

Если Основание.ВидПоступления = Перечисления.ВидыПоступленияТоваров.НаСклад Тогда

Склад = Основание.СкладОрдер;

Иначе

Склад = Основание.СкладОрдер.Склад;

КонецЕсли;

Контрагент = ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойПокупатель");

ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента;

Если ЗначениеНеЗаполнено(ДоговорКонтрагента) Тогда

ВалютаДокумента = мВалютаРегламентированногоУчета;

Иначе

ВалютаДокумента = ДоговорКонтрагента.ВалютаВзаиморасчетов;

КонецЕсли;

СтруктураКурсаВзаиморасчетов = ПолучитьКурсВалюты(ВалютаДокумента, ПолучитьРабочуюДату());

КурсВзаиморасчетов = СтруктураКурсаВзаиморасчетов.Курс;

КратностьВзаиморасчетов = СтруктураКурсаВзаиморасчетов.Кратность;

// ТипЦен.

ТипЦен = ДоговорКонтрагента.ТипЦен;

Если ЗначениеНеЗаполнено(ТипЦен) Тогда

ТипЦен = ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойТипЦенПродажи");

КонецЕсли;

// Флаги включения налогов.

УчитыватьНДС = Истина;

Если Не ЗначениеНеЗаполнено(ТипЦен) Тогда

// Если цены выбранного типа расчетные, то флаги включения налогов надо брать из базовой цены.

ВремТипЦен = ?(ТипЦен.Рассчитывается, ТипЦен.БазовыйТипЦен, ТипЦен);

СуммаВключаетНДС = ВремТипЦен.ЦенаВключаетНДС;

Иначе

// Заполним значениями по умолчанию (не заполнен ТипЦен).

СуммаВключаетНДС= Истина;

КонецЕсли;

Если Основание.Проведен Тогда

// Заполним табличные части по документу основанию (Поступление товаров);

// количество - минимум из того, что есть в документе основании и свободного остатка на складе.

ЗаполнитьТоварыПоПоступлениюТоваровУпр(Основание);

ЗаполнитьВозвратнуюТаруПоПоступлениюТоваровУпр(Основание);

КонецЕсли;

КонецЕсли;

Если ЕстьРеквизитДокумента("ОтражатьВУправленческомУчете", Основание.Метаданные()) Тогда

ОтражатьВУправленческомУчете = Основание.ОтражатьВУправленческомУчете;

Иначе

ОтражатьВУправленческомУчете = НЕ ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "НеОтражатьДокументыВУправленческомУчете");

КонецЕсли;

Если ЕстьРеквизитДокумента("ОтражатьВБухгалтерскомУчете", Основание.Метаданные()) Тогда

ОтражатьВБухгалтерскомУчете = Основание.ОтражатьВБухгалтерскомУчете;

ОтражатьВНалоговомУчете = Основание.ОтражатьВНалоговомУчете;

Иначе

ОтражатьВБухгалтерскомУчете = НЕ ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "НеОтражатьДокументыВБухгалтерскомУчете");

Если ОтражатьВБухгалтерскомУчете Тогда

ОтражатьВНалоговомУчете = НЕ ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "НеОтражатьДокументыВНалоговомУчете");

Иначе

ОтражатьВНалоговомУчете = ОтражатьВБухгалтерскомУчете;

КонецЕсли;

КонецЕсли;

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