Skip to main content

Класс Документы и Журналы документов

Стандартные реквизиты: Номер документа и Дата документа.

Заполнение реквизита значением по умолчанию. В свойствах реквизита есть параметр Значение заполнения. Для простых типов оно заполняется вручную. Для типов СправочникСсылка список значений берется из предопределенных данных  справочника.

Ввод на основании: В разделе настройки "Ввод на основании" добавляется документ, который является основой для ввода и в модуле объекта создается процедура ОбработкаОснования.  

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
	//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
	// Данный фрагмент построен конструктором.
	// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
	Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПрибытиеВГараж") Тогда
		// Заполнение шапки
		Автомобиль = ДанныеЗаполнения.Автомобиль;
		Гараж = ДанныеЗаполнения.Гараж;
	КонецЕсли;
	//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры

Обработка событий формы. Управление отображением и событиями платформы

Обработка табличной части документа:

&НаКлиенте
Процедура ПересчитатьИтоговуюСумму() 
	ТабЧасть = Объект.ПереченьТоваров;
	ФиналСумма = 0; 	
	Для каждого Товар из ТабЧасть Цикл
		ФиналСумма = ФиналСумма + Товар.Сумма;
	КонецЦикла;
    Объект.СуммаПоДокументу = ФиналСумма;
КонецПроцедуры

&НаКлиенте
Процедура ПереченьТоваровКоличествоПриИзменении(Элемент)
	СтрТабЧасти = Элементы.ПереченьТоваров.ТекущиеДанные;
	СтрТабЧасти.Сумма = СтрТабЧасти.Цена * СтрТабЧасти.Количество;
	ПересчитатьИтоговуюСумму();
КонецПроцедуры

&НаКлиенте
Процедура ПереченьТоваровЦенаПриИзменении(Элемент)
	СтрТабЧасти = Элементы.ПереченьТоваров.ТекущиеДанные;
	СтрТабЧасти.Сумма = СтрТабЧасти.Цена * СтрТабЧасти.Количество;
	ПересчитатьИтоговуюСумму();
КонецПроцедуры

Добавление данных в табличную часть Есть справочники Канцелярия и НаборыВыдачиКанцелярии и документ ВыдачаКанцелярии. Нужно добавить опцию заполнения табличной части документа стандартными наборами. В документе нет реквизита НаборыВыдачиКанцелярии, так как наборы могут меняться, в документ может быть добавлено несколько наборов, но само название набора не важно, а фактически важен добавленный состав. На форму был добавлен реквизит СтандартныеНаборыВыдачи и кнопка Добавить набор.

1c_documents_add_columns_in_table.JPG

&НаСервере
Процедура ПолучитьСоставНабора()
	ТекСоставНабора = СтандартныеНаборыВыдачи.СоставНабора;  
	Для Каждого ЭлемНабора из ТекСоставНабора цикл
		НовыйЭлем = Объект.ТаблицаВыдачиКанцелярии.Добавить();
		НовыйЭлем.НазваниеПредмета = ЭлемНабора.Канцелярия;
	КонецЦикла;                                            
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьНабор(Команда)
	ПолучитьСоставНабора();
КонецПроцедуры

 

Дополнительные опции:

  • нНумераторы - отвечают за сквозную нумерацию для разных документов, сначала создается нумератор, затем в разделе Нумерация нужных документов указывается нумератор.
  • Последовательности - отвечают за контроль целостности данных при изменении проведенного документа. Например, при изменении документа в уже закрытом периоде. Нужно разобраться.

Журналы документов

Не создают дополнительных данных. Только для визуального объединения разных документов в одном списке. 
В разделе Данные в Регистрируемые документы добавляются нужные документы, в разделе Графы - поля из документов.