Как внести тестовые данные в созданные объекты?

Для наполнения конфигурации «Семейный бюджет» тестовыми данными можно использовать несколько приёмов — от ручного ввода через пользовательский интерфейс до автоматизированной загрузки через код или внешние файлы. Ниже описаны основные способы вместе с примерами кода.

1. Ручной ввод через интерфейс

  1. Справочники
    – Откройте в режиме 1С:Предприятие справочник Номенклатура (или «Статьи доходов/расходов»).
    – Нажмите «Создать» → заполните код, наименование, тип/категорию.
    – Сохраните.
    Повторите для всех справочников: Участники, Банковские счета.

  2. Документы
    – Откройте документ Поступление дохода.
    – Нажмите «Создать», введите дату, выберите статью дохода, участника, счёт и сумму.
    – Проведите документ.
    Аналогично — документ Расход и Перевод между счетами.

  3. Планирование
    – Откройте документ Планирование бюджета, заполните период и табличную часть плановыми статьями.

Этот способ прост, но при большом объёме тестовых данных трудозатратен.

2. Автоматизация через внешнюю обработку

Создайте внешнюю обработку ЗагрузкаТестовыхДанных.epf с командой «Заполнить тестовыми данными» и модулем вида:

Процедура ЗаполнитьТестовыеДанные(Команда)
// 1. Справочники
Для Каждый Артикул Из Новый Массив("Продукты","Квартплата","Развлечения") Цикл
Эл = Справочники.СтатьиРасходов.СоздатьЭлемент();
Эл.Наименование = Артикул;
Эл.Записать();
КонецЦикла;
// 2. Участники
Для Каждый Имя Из Новый Массив("Мама","Папа","Ребёнок") Цикл
Эл = Справочники.Участники.СоздатьЭлемент();
Эл.Имя = Имя;
Эл.Записать();
КонецЦикла;
// 3. Счета
Эл = Справочники.БанковскиеСчета.СоздатьЭлемент();
Эл.Наименование = "Наличные"; Эл.Тип = "Наличные"; Эл.Записать();
Эл = Справочники.БанковскиеСчета.СоздатьЭлемент();
Эл.Наименование = "Карта"; Эл.Тип = "Карта"; Эл.Записать();
// 4. Документы доходов/расходов
Для Каждого i Из Новый Массив(1000,2000,1500) Цикл
Док = Документы.ПоступлениеДохода.СоздатьДокумент();
Док.Дата = НачалоМесяца(ТекущаяДата());
Док.СтатьяДохода = Справочники.СтатьиДоходов.ПолучитьЭлемент("Продукты");
Док.СчётПрихода = Справочники.БанковскиеСчета.ПолучитьЭлемент("Наличные");
Док.Сумма = i;
Док.Записать();
Док.Провести();
КонецЦикла;
// 5. Краткий отчет
Сообщить("Тестовые данные загружены");
КонецПроцедуры

– Добавьте на форму обработки кнопку, вызывающую эту процедуру.
– Запустите в режиме предприятия, нажмите «Заполнить тестовыми данными».

3. Загрузка из Excel/CSV

Если есть готовая таблица в Excel:

  1. Создайте обработку с возможностью выбора файла через Диалог.ВыбораФайла().

  2. Используйте ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.Прочитать("путь.xlsx");.

  3. Преобразуйте строки TabDoc в ТаблицаЗначений:

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Наименование");
ТЗ.Колонки.Добавить("Количество");

...
Для Стр = 1 По TabDoc.КоличествоСтрок() Цикл
Нов = ТЗ.Добавить();
Нов.Наименование = TabDoc.ПолучитьЯчейку(Стр, 1).Значение;
Нов.Количество = TabDoc.ПолучитьЯчейку(Стр, 2).Значение;
КонецЦикла;
  1. Переберите ТЗ и создайте справочник/документ аналогично вручную.

4. Скрипты загрузки в фоновом режиме

Для больших объёмов данных лучше запускать загрузку в фоне (регламентное задание). В общем модуле:

&НаСервере
Процедура ЗагрузитьТестовыеДанныеВФоне(Параметры)
// тот же код создания справочников и документов
КонецПроцедуры
 Настройте регламентное задание: **Администрирование  РегламентныеЗадания**.

5. Использование метода ЗагрузитьКоллекцию()

Если у вас есть массив структур:

МассивСтруктур = Новый Массив;
Стр = Новый Структура("Наименование, Количество", "Молоко", 10);
МассивСтруктур.Добавить(Стр);
...
Спр = Новый ТаблицаЗначений;
// создаём колонки как в справочнике
Спр.ЗагрузитьКоллекцию(МассивСтруктур);
...
Для Каждого Эл Из Спр Цикл
Элемент = Справочники.Номенклатура.СоздатьЭлемент();
Элемент.Наименование = Эл.Наименование;
Элемент.Записать();
КонецЦикла;

Так быстрее создавать много элементов одним методом.

6. Комбинированный подход

– Внешняя обработка с выбором источника: ввод вручную, загрузка файла, программная генерация.
– Формы с чекбоксами «Загрузить справочники», «Загрузить документы», «Очистить данные» для управления процессом.

Все эти методы позволяют быстро наполнить созданные объекты тестовыми данными как для демо, так и для тестирования логики.