Как вывести итоговую таблицу значений после распределения суммы?

Для вывода итоговой таблицы значений после распределения суммы в 1С можно использовать несколько подходов в зависимости от контекста: форма обработки, сообщение пользователю, лог-файл, журнал регистрации или экспорт. Ниже подробно рассмотрим вывод итоговой таблицы значений через сообщение пользователю (для отладки и визуального контроля) и через вывод на форму (для работы в интерактивной обработке).

📌 1. Формат таблицы значений

Предположим, у вас есть таблица ТаблицаЗначений со следующими колонками:

  • Наименование — строка

  • Количество — число

  • Сумма — число (распределённая сумма)

Пример содержимого после распределения:

Наименование Количество Сумма
Товар 1 2 13
--- --- ---
Товар 2 3 20
--- --- ---
Товар 3 1 7
--- --- ---

📌 2. Вывод в сообщение пользователю (Сообщить)

Можно использовать цикл для формирования текстовой таблицы и вывести её:

СтрокаВывода = "Результаты распределения:" + Символы.ПС;
СтрокаВывода = СтрокаВывода + "Наименование | Количество | Сумма" + Символы.ПС;
СтрокаВывода = СтрокаВывода + "----------------------------------" + Символы.ПС;
Для Каждого Стр Из ТаблицаЗначений Цикл
СтрокаВывода = СтрокаВывода +
Формат(Стр.Наименование, "X20") + " | " +
Формат(Стр.Количество, "ЧГ=0") + " | " +
Формат(Стр.Сумма, "ЧГ=0") + Символы.ПС;
КонецЦикла;
Сообщить(СтрокаВывода);
  • Формат(значение, "ЧГ=0") — форматирование числа без дробной части.

  • Символы.ПС — перевод строки.

  • Формат(строка, "X20") — выравнивание строки по ширине 20 символов.

📌 3. Вывод на форму

Если вы работаете в управляемой форме внешней обработки:

Шаги:

  1. В модуле формы создайте реквизит формы типа ТаблицаЗначений.

  2. Назначьте ему ту таблицу, где хранятся результаты распределения.

  3. Свяжите с элементом управления на форме (например, Таблица).

  4. После выполнения распределения обновите данные формы:

ЭлементыФормы.ТаблицаРезультатов.Обновить();

📌 4. Форматирование чисел и выравнивание

Если вам важен внешний вид в сообщении, можете использовать ручное выравнивание:

ФорматированнаяСтрока = СтрЗаменить(Формат(Стр.Количество, "ЧГ=0"), " ", "") + ...;

Или используйте "ЧЦ=15; ЧГ=0" — это число шириной 15 символов, без дробной части.

📌 5. Вывод в таблицу значений с итогой

Если вы хотите вывести таблицу в отладчик, можно так:

ТаблицаЗначений.ВыгрузитьКоллекцию().Вывести();

Или использовать Обработка.Форма.Таблица = ТаблицаЗначений; при выводе на форму.

📌 6. Альтернативные способы вывода

  • **В файл (CSV):
    **
Файл = Новый ТекстовыйДокумент;
Файл.ДобавитьСтроку("Наименование;Количество;Сумма");
Для Каждого Стр Из ТаблицаЗначений Цикл
Строка = Стр.Наименование + ";" + Формат(Стр.Количество, "ЧГ=0") + ";" + Формат(Стр.Сумма, "ЧГ=0");
Файл.ДобавитьСтроку(Строка);
КонецЦикла;
Файл.Записать("C:\\Temp\\Результат.csv");
  • **В журнал регистрации:
    **
ЖурналРегистрации.ДобавитьСообщение("Результат: " + ЗначениеПеременной);

Таким образом, наиболее удобный способ — это использовать Сообщить() с форматированием или привязку таблицы к форме обработки. Это даёт наглядный результат и не требует дополнительной интеграции.