Вопрос: какие фабричные методы используете для создания новых элементов справочников и документов?У меня вот такие аналоги юзаются
Цитата:Функция ПолучитьНовыйЭлементСправочника(ВидСправочника)
Результат = Справочники[ВидСправочника].СоздатьЭлемент();
Попытка
Результат.Записать();
Исключение
ВызватьИсключение "!!! Не удалось создать новый элемент справочника <"+ВидСправочника+"> !!!";
КонецПопытки;
Возврат Результат;
КонецФункции
Функция Контрагент(ЗначенияДляЗаполнения = Неопределено)
видСправочника = "Контрагенты";
Результат = Справочники[видСправочника].СоздатьЭлемент();
Результат.УчитыватьПоРегистру065 = Истина;
Если ЗначениеЗаполнено(ЗначенияДляЗаполнения) Тогда
ЗаполнитьЗначенияСвойств(Результат, ЗначенияДляЗаполнения);
КонецЕсли;
артТесты.ПроверитьТип(результат, "СправочникОбъект."+видСправочника, "Не удалось создать <"+видСправочника+">");
Результат.Записать();
Возврат результат;
КонецФункции
Функция Выписка(датаДокумента, ШапкаДокумента = Неопределено, ТабличнаяЧасть = Неопределено)
артТесты.ПроверитьЗаполненность(датаДокумента, "датаДокумента");
Если ШапкаДокумента <> Неопределено Тогда
артТесты.ПроверитьТип(ШапкаДокумента, "Структура", "ТабличнаяЧасть");
КонецЕсли;
Если ТабличнаяЧасть <> Неопределено Тогда
артТесты.ПроверитьТип(ТабличнаяЧасть, "ТаблицаЗначений", "ТабличнаяЧасть");
КонецЕсли;
результат = Документы.Выписка.СоздатьДокумент();
результат.Организация = Константы.ОсновнаяОрганизация.Получить();
естьЗаполненныеСвойства = ЗначениеЗаполнено(ШапкаДокумента);
//Если НЕ естьЗаполненныеСвойства ИЛИ НЕ ШапкаДокумента.Свойство("Клиент") Тогда
// клиентОбъект = Контрагент();
// клиент = клиентОбъект.Ссылка;
// результат.Клиент = клиент;
//КонецЕсли;
результат.Дата = датаДокумента;
Если естьЗаполненныеСвойства Тогда
ЗаполнитьЗначенияСвойств(результат, ШапкаДокумента);
КонецЕсли;
результат.УстановитьНовыйНомер("тест");
естьТабличнаяЧасть = ЗначениеЗаполнено(ТабличнаяЧасть);
Если естьТабличнаяЧасть Тогда
результат.тч.Загрузить(ТабличнаяЧасть);
артТесты.ПроверитьРавенство(ТабличнаяЧасть.Количество(), результат.тч.Количество(), "ТабличнаяЧасть.Количество(), результат.тчДоки.Количество()");
КонецЕсли;
результат.Записать();
Если естьТабличнаяЧасть Тогда
артТесты.ПроверитьБольше(результат.тч.Количество(), 0, "результат.тч.Количество()");
КонецЕсли;
артТесты.ПроверитьЗаполненность(результат.Ссылка, "Расходная - результат.Ссылка");
Возврат результат;
КонецФункции
Ну и примеры использования:
Цитата: клиентОбъект = Контрагент(Новый Структура("Использовать", Истина));
клиент = клиентОбъект.Ссылка;
докВыписка = Выписка(ТекущаяДата(), Новый Структура("Клиент", клиент));
артТесты.ПроверитьРавенство(докВыписка.Клиент, клиент, "докВыписка.Клиент, клиент");