Особенности конфигурации системы "1С:Предприятие" версии 8.0 на предприятии ООО "МегаЛинк"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?еменной("глТекущийПользователь"),"ВариантВыводаФормыЗаполнения");
Если ВариантВыводаФормыЗаполнения = Перечисления.ВариантыВыводаФормыЗаполнения.ВызыватьВсегда Тогда
// тут заполнять не надо - откроется форма выбора
мОткрыватьФормаЗаполненияПоЗаказу = Истина;
Иначе
// Заполним табличные части неполученными ТМЦ (резервом) по заказу покупателя.
ЗаполнитьТабличнуюЧастьПоЗаказуПокупателяУпр(Товары, Основание, ВариантВыводаФормыЗаполнения);
Если Не мОткрыватьФормаЗаполненияПоЗаказу Тогда
ЗаполнитьТабличнуюЧастьПоЗаказуПокупателяУпр(ВозвратнаяТара, Основание, ВариантВыводаФормыЗаполнения);
Если Не мОткрыватьФормаЗаполненияПоЗаказу Тогда
ЗаполнитьУслугиПоОстаткамУпр();
КонецЕсли;
КонецЕсли;
// Может, в процессе заполнения обнаружены нехватки и надо вызвать форму заполнения
// Тогда почистим табличные части
Если мОткрыватьФормаЗаполненияПоЗаказу = Истина Тогда
Товары.Очистить();
ВозвратнаяТара.Очистить();
Услуги.Очистить();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ТипЗнч(Основание) = Тип("ДокументСсылка.СчетНаОплатуПокупателю") Тогда
СкопироватьТовары(Основание);
СкопироватьВозвратнуюТару(Основание);
СкопироватьУслуги(Основание);
КонецЕсли;
ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда
// Заполним реквизиты шапки по документу основанию.
Организация = Основание.Организация;
Подразделение = Основание.Подразделение;
ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия;
ВидПередачи = Перечисления.ВидыПередачиТоваров.СоСклада;
Если Основание.ВидПоступления = Перечисления.ВидыПоступленияТоваров.НаСклад Тогда
Склад = Основание.СкладОрдер;
Иначе
Склад = Основание.СкладОрдер.Склад;
КонецЕсли;
Контрагент = ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойПокупатель");
ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента;
Если ЗначениеНеЗаполнено(ДоговорКонтрагента) Тогда
ВалютаДокумента = мВалютаРегламентированногоУчета;
Иначе
ВалютаДокумента = ДоговорКонтрагента.ВалютаВзаиморасчетов;
КонецЕсли;
СтруктураКурсаВзаиморасчетов = ПолучитьКурсВалюты(ВалютаДокумента, ПолучитьРабочуюДату());
КурсВзаиморасчетов = СтруктураКурсаВзаиморасчетов.Курс;
КратностьВзаиморасчетов = СтруктураКурсаВзаиморасчетов.Кратность;
// ТипЦен.
ТипЦен = ДоговорКонтрагента.ТипЦен;
Если ЗначениеНеЗаполнено(ТипЦен) Тогда
ТипЦен = ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойТипЦенПродажи");
КонецЕсли;
// Флаги включения налогов.
УчитыватьНДС = Истина;
Если Не ЗначениеНеЗаполнено(ТипЦен) Тогда
// Если цены выбранного типа расчетные, то флаги включения налогов надо брать из базовой цены.
ВремТипЦен = ?(ТипЦен.Рассчитывается, ТипЦен.БазовыйТипЦен, ТипЦен);
СуммаВключаетНДС = ВремТипЦен.ЦенаВключаетНДС;
Иначе
// Заполним значениями по умолчанию (не заполнен ТипЦен).
СуммаВключаетНДС= Истина;
КонецЕсли;
Если Основание.Проведен Тогда
// Заполним табличные части по документу основанию (Поступление товаров);
// количество - минимум из того, что есть в документе основании и свободного остатка на складе.
ЗаполнитьТоварыПоПоступлениюТоваровУпр(Основание);
ЗаполнитьВозвратнуюТаруПоПоступлениюТоваровУпр(Основание);
КонецЕсли;
КонецЕсли;
Если ЕстьРеквизитДокумента("ОтражатьВУправленческомУчете", Основание.Метаданные()) Тогда
ОтражатьВУправленческомУчете = Основание.ОтражатьВУправленческомУчете;
Иначе
ОтражатьВУправленческомУчете = НЕ ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "НеОтражатьДокументыВУправленческомУчете");
КонецЕсли;
Если ЕстьРеквизитДокумента("ОтражатьВБухгалтерскомУчете", Основание.Метаданные()) Тогда
ОтражатьВБухгалтерскомУчете = Основание.ОтражатьВБухгалтерскомУчете;
ОтражатьВНалоговомУчете = Основание.ОтражатьВНалоговомУчете;
Иначе
ОтражатьВБухгалтерскомУчете = НЕ ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "НеОтражатьДокументыВБухгалтерскомУчете");
Если ОтражатьВБухгалтерскомУчете Тогда
ОтражатьВНалоговомУчете = НЕ ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "НеОтражатьДокументыВНалоговомУчете");
Иначе
ОтражатьВНалоговомУчете = ОтражатьВБухгалтерскомУчете;
КонецЕсли;
КонецЕсли;
КонецПроцедуры // ОбработкаЗаполнения()