Записки программиста 1с

Программное изменение документа 1с

Программное изменение документа 1с позволяет добавлять или редактировать информацию в документе 1с.

Программное изменение документа 1с можно разделить на несколько этапов.

Во-первых запросом находим необходимый документ.

ПриемнаяКомпания=Объект.ПриемнаяКампания.Наименование;
	ВступительнаяГруппа=Справочники.ВступительныеГруппы.НайтиПоНаименованию(ПриемГруппа).Наименование;
    
	Запрос=новый запрос;
	Запрос.Текст="ВЫБРАТЬ
	 |ФормированиеВступительнойГруппы.Ссылка КАК Ссылка,
	 |ФормированиеВступительнойГруппы.Представление КАК Представление,
	 |ФормированиеВступительнойГруппы.Номер КАК Номер,
	 |ФормированиеВступительнойГруппы.Дата КАК Дата
	 |ИЗ
	 |Документ.ФормированиеВступительнойГруппы КАК ФормированиеВступительнойГруппы
	 |ГДЕ
	 |ФормированиеВступительнойГруппы.ПометкаУдаления = ЛОЖЬ
	 |И ФормированиеВступительнойГруппы.ВступительнаяГруппа.Наименование = &ВступительнаяГруппа
	 |И ФормированиеВступительнойГруппы.ПриемнаяКампания.Наименование = &ПриемнаяКампания";
	
	Запрос.УстановитьПараметр("ВступительнаяГруппа",ВступительнаяГруппа);
	Запрос.УстановитьПараметр("ПриемнаяКампания",ПриемнаяКомпания);
	РЗ=Запрос.Выполнить().Выбрать();

Во-вторых получаем ссылку на документ. Если документ не найден выходим из процедуры.

Если РЗ.Следующий() тогда
	ДокументСсылка=РЗ.ССылка;	
	//Сообщить(РЗ.номер);
	Номер=РЗ.номер;
	иначе 
	Возврат
конецесли;

В третьих Получаем объект документа.

НовыйДокумент=ДокументСсылка.ПолучитьОбъект();

Далее заполняем документ или его табличную часть. После завершения редактирования записываем документ.

         Таблица=НовыйДокумент.СписокАбитуриентов;
	если Таблица.Найти(СсылкаАА)=0 тогда
	   НоваяСтрока=Таблица.Добавить();
	   НоваяСтрока.АнкетаАбитуриента=СсылкаАА;
	   НоваяСтрока.Абитуриент=ФизЛицо;
	   НовыйДокумент.Записать();
	конецесли;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *