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

Это поведение задается в разрезе конкретной команды конкретной печати. Для получения одной печатной формы ставь, для другой не ставь.
---
Пользователь изменил количество в одной строке ТЧ, добавил еще пару строк и выбрал печатать эту форму, которая не проверяет модифированность. Получил не то что ожидал.
Ну такое себе =)
---
А кто тебе мешает для конкретной команды конкретной печати выбирать данные не из формы, а из базы?
---
Имхо, в данном случае корректнее исправить причину, а не следствие.
Тем более это достаточно просто.
---
В данном случае надо вообще все решение перепроектировать, пока оно далеко не ушло. Исправить-то да, исправить тут просто. Только не поймет же пациент нихрена и пойдет дальше дичь лютую творить.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Про какой параметр идет речь ?

```1c
    * Команды - ТаблицаЗначений - настройки команд, поставляемых внешней обработкой (необязательно для отчетов):
    // ** Идентификатор - Строка - внутреннее имя команды. Для внешних печатных форм (когда Вид = "ПечатнаяФорма"):
    // Идентификатор может содержать имена одной или нескольких команд печати,
    // разделенные запятыми. Подробнее см. описание колонки Идентификатор
    // в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати.
    // ** Представление - Строка - пользовательское представление команды.
    // ** Использование - Строка - тип команды:
    // "ВызовКлиентскогоМетода",
    // "ВызовСерверногоМетода",
    // "ЗаполнениеФормы",
    // "ОткрытиеФормы" или
    // "СценарийВБезопасномРежиме".
    // Для получения типов команд рекомендуется использовать функции
    // ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКоманды<ИмяТипа>.
    // В комментариях к этим функциям также даны шаблоны процедур-обработчиков команд.
    // ** ПоказыватьОповещение - Булево - если Истина, то при запуске команды выводится оповещение "Команда выполняется...".
    // Действует для всех типов команд, кроме команд по открытию формы (Использование = "ОткрытиеФормы").
    // ** Модификатор - Строка - дополнительная классификация команды.
    // Для внешних печатных форм (когда Вид = "ПечатнаяФорма"):
    // "ПечатьMXL" - для печатных форм на основе табличных макетов.
    // Для загрузки данных из файла (когда Вид = "ПечатнаяФорма" и Использование = "ЗагрузкаДанныхИзФайла"):
    // Модификатор является обязательным для заполнения
    // и должен содержать полное имя объекта метаданных (справочника),
    // для которого выполняется загрузка данных.
    // ** Скрыть - Булево - необязательный. Признак того, что это служебная команда.
    // Если установить в значение Истина, то команда скрывается в карточке дополнительного объекта.

    Функция СведенияОВнешнейОбработке(ВерсияБСП = ") Экспорт
    ПараметрыРегистрации = Новый Структура;

    ПараметрыРегистрации.Вставить("Вид", ");
    ПараметрыРегистрации.Вставить("Версия", "0.0");
    ПараметрыРегистрации.Вставить("Назначение", Новый Массив);
    ПараметрыРегистрации.Вставить("Наименование", Неопределено);
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
    ПараметрыРегистрации.Вставить("Информация", Неопределено);
    ПараметрыРегистрации.Вставить("ВерсияБСП", ВерсияБСП);
    ПараметрыРегистрации.Вставить("ОпределитьНастройкиФормы", Ложь);
    Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
    МодульВариантыОтчетовСлужебный = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетовСлужебный");
    ПараметрыРегистрации.Вставить("НазначениеВариантаОтчета",
    МодульВариантыОтчетовСлужебный.ПустоеНазначениеВариантаОтчета());
    КонецЕсли;

    РеквизитыТабличнойЧасти = Метаданные.Справочники.ДополнительныеОтчетыИОбработки.ТабличныеЧасти.Команды.Реквизиты;

    ТаблицаКоманд = Новый ТаблицаЗначений;
    ТаблицаКоманд.Колонки.Добавить("Представление", РеквизитыТабличнойЧасти.Представление.Тип);
    ТаблицаКоманд.Колонки.Добавить("Идентификатор", РеквизитыТабличнойЧасти.Идентификатор.Тип);
    ТаблицаКоманд.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    ТаблицаКоманд.Колонки.Добавить("ПоказыватьОповещение", РеквизитыТабличнойЧасти.ПоказыватьОповещение.Тип);
    ТаблицаКоманд.Колонки.Добавить("Модификатор", РеквизитыТабличнойЧасти.Модификатор.Тип);
    ТаблицаКоманд.Колонки.Добавить("Скрыть", РеквизитыТабличнойЧасти.Скрыть.Тип);
    ТаблицаКоманд.Колонки.Добавить("ЗаменяемыеКоманды", РеквизитыТабличнойЧасти.ЗаменяемыеКоманды.Тип);

    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    ПараметрыРегистрации.Вставить("Разрешения", Новый Массив);

    Возврат ПараметрыРегистрации;
    КонецФункции
```
---
Про какойЯ тебя куда послал? Документацию читать. А ты что принес? Свой код. Зачем?
---
Это код общего модуля, а команда печати во внешней обработке. о каком параметре какой команды печати идет речь? об этом ведь и спрашиваю, а то иди ищи. А что искать то ???
---
Ты вот как андроид тупой, как слово "документация" не вложили в тебя, так ты его и не замечаешь.

Вендор БСП, фирма 1С, которая, мало того что курсы по ее использованию ведет, так еще и предоставляет документацию по ее составу, внедрению и использованию Как для программиста, так и для пользователя.
Для чтения документации открываешь сайт ИТС и читаешь там:
- Главная -> Инструкции по разработке на 1С -> Библиотека стандартных подсистем -> <Версия БСП (сейчас 3.1.10 по моему) -> Глава 3. Настройка и использование подсистем при разработке конфигурации -> Печать
И там же рядом Подключаемые команды, где ты вообще всю логику сам делаешь.
---
курсыУгу...
---
И к тому же ты приводишь пример не печати, а подключаемых команд
---
Да, взводится флаг модифицированности, даже если это добавленный реквизит. Обработать можно в событии таблицы (не поля таблицы, а таблицы целиком) "ПослеОкончанияРедактирования" (ну или как-то так - ищи). Там как раз можно указать "Модицифированность = Ложь".

С другой стороны, если речь идет о том, чтобы выводить на печать только отмеченные строки, я бы выводил только выделенные строки (контрл+лкм, шифт+лкм, контрл+а после отбора альт+ф, ...). В итоге отобрал все болты и гайки, нажал контр+а, нажал "Печаль" - профит!
---
Сообщение было скрыто модератором.