Доброго времени.
В программировании недавно.
Стоит задача в УТ11 снята с поддержки, документе Реализация товаров и услуг, в табличной части зафиксировать изменение ТЧ.
Выдать оповещение с добавленными или удаленными строками пользователю.
Сам алгоритм собрал, работает.
 На выходе получаю ТЗ на сервере в модуле объекта РТУ.

Мысли: Запрос1 нужени из регистра накопления до Обработкипроведения, как передать результат запроса в модуль формы?

Не могу передать сообщение с результатом на клиент, подскажите как это сделать?
Не понимаю как передавать из модуля в модуль значения, может ссылкой кто поделится почитать.
Заранее спасибо!
---
Решение вопроса такое - Таблицу0 получил из регистра, а Таблицу1 сформировал из текущей ТЧ. Дальше сравнил.
Что касается передачи результата функции в другой модуль,
```1c
    ДокОбъект = РеквизитФормыВЗначение("Объект");
```
. Всем спасибо.
---
На выходе получаю ТЗ на сервере... Не могу передать ... на клиент, подскажите как это сделать?
Читаем внимательно:
ТаблицаЗначений (ValueTable)
...
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Возможен обмен с сервером. Сериализуется. Данный объект может быть сериализован в/из XDTO.

Не понимаю как передавать из модуля в модуль значения,
1. Через входящие параметры процедуры/функции
2. Через возврат результата функции.
---
Я же могу ТЗ в массив, в строку и т.д., а потом передать. Но я не смекаю как передать в модуль формы значение.
---
2. Через возврат результата функции.
---
```1c
    Функция СравнитьТабличныеЧасти() Экспорт // Сравниваем ТЧ

    Таблица0 = ПолучитьТабличнуюЧастьИзРегистра();
    Таблица1 = ПолучитьТабличнуюЧасть();

    Если ЗначениеЗаполнено(Таблица0) И ЗначениеЗаполнено(Таблица1) Тогда

    // Получаем удаленные или добавленные строки
    ВсеКолонки = ";
    Для Каждого Колонка Из Таблица0.Колонки Цикл
    ВсеКолонки = ВсеКолонки + ", " + Колонка.Имя
    КонецЦикла;
    ВсеКолонки = Сред(ВсеКолонки, 2);

    Таблица = Таблица1.Скопировать();

    Таблица.Колонки.Добавить("Знак", Новый ОписаниеТипов("Число"));

    Таблица.ЗаполнитьЗначения(1, "Знак");

    Для Каждого Строка Из Таблица0 Цикл ЗаполнитьЗначенияСвойств(Таблица.Добавить(), Строка) КонецЦикла;

    Таблица.Колонки.Добавить("Счёт");
    Таблица.ЗаполнитьЗначения(1, "Счёт");

    Таблица.Свернуть(ВсеКолонки, "Знак, Счёт");

    РазницаТЗ = Таблица.Скопировать(Новый Структура("Счёт", 1), ВсеКолонки + ", Знак");

    РазницаТЗ.Сортировать("Брутто Возр");

    //// Показываем сообщение пользователю
    //Если ЗначениеЗаполнено(Разница) Тогда
    // // ВопросПослеСравненияТЧ(Ответ);

    //КонецЕсли;

    КонецЕсли;

    Возврат РазницаТЗ;

    КонецФункции
```

В модуле формы как получить возврат результата функции? Разные модули же ...
---
В модуле формы как получить возврат результата функции? Разные модули же ... Точно так же как и в остальных. Есть вызов функции - есть возврат результата.
```1c
    Результат = КакойТоМодуль.КакаяТоФункция();
```

Вот только зачем это засовывать в модуль объекта - так и не понял.
---
```1c
    Результат = МодульОбъекта.СравнитьТабличныеЧасти();
```

Ошибку выдает
---
Конечно. И я даже знаю какую.
---
Пополни мой опыт, я стану мудрее =)
---
"Переменная МодульОбъекта не обнаружена"?
---
Да (Переменная не определена).
---
Я все еще жду ответа на свое недоумение Вот только зачем это засовывать в модуль объекта - так и не понял.
---
Извиняюсь, упустил вопрос. Это в модуле формы будет.
---
Значит и ошибки не будет, если сравнение будет в серверной функции модуля формы.
---
Спасибо, так не пробовал, испытаю напишу по результату.
---
Если надо просто пользователю сообщить, то Сообщение = Новый СообщениеПользователю(); либо ОбщегоНазначения.СообщитьПользователю() что в принципе сути не меняет.
---
Далее нужно задать вопрос пользователю.
---
А зачем получать изменения табличной части документа через регистр?
Можно же например в модуле формы "ПередЗаписью"
Взять условные "Объект.Товары" и "Объект.Ссылка.Товары" и их сравнить.
---
Это был следующий этап обучения )))
---
Я тоже предлагал данный вариант на получении задачи, но нужно сравнить именно с регистром.
---
Кому нужно? Это как сравнивать кусок хлеба с бутербродом. Регистр - это производная от документа, там неполный состав данных, дубли, условные исключения и прочее. Да в конце концов записей в регистрах даже может и не быть в случае отложенного проведения или условного проведения по статусу документа - все зависит от прикладной логики документа и его движений.

А таблица документа - она всегда таблица документа. С одинаковыми реквизитами.
---
Более опытному программисту 1С в моей компании, но его нет сейчас на месте (уже неделю нет)).
---
Правильно писать так: "более опытный".
---
Решение вопроса такое - Таблицу0 получил из регистра, а Таблицу1 сформировал из текущей ТЧ. Дальше сравнил.
Что касается передачи результата функции в другой модуль,
```1c
    ДокОбъект = РеквизитФормыВЗначение("Объект");
```
. Всем спасибо.
---
Что касается передачи результата функции в другой модуль, И эти люди называют себя 1С-никами...