Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отказ от записи в Форме
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Михрутка
1с 8.2. УТП 1.2.
Создаю документ из некой формы:
док = Документы.ПеремещениеТоваров.СоздатьДокумент();
    док.ВидОперации = Перечисления.ВидыОперацийПеремещениеТоваров.ТоварыПродукцияПоОрдерам;
    док.ПолучитьФорму().Открыть();

Если документ пустой, то его нужно просто закрыть без записи в базу данных. В обработке "ПередЗаписью" Формы помещаю код:
Если Товары.Количество() = 0 Тогда
        Ответ = Вопрос("В документе нет товаров. Закрыть документ без записи? 'Да'-документ будет закрыт, 'Нет' - продолжить редактирование",РежимДиалогаВопрос.ДаНет);
        Если Ответ = КодВозвратаДиалога.Да Тогда
            ЭтаФорма.Закрыть();
        Иначе
            Отказ = Истина;
        КонецЕсли;
    КонецЕсли;


Если пользователь выбирает "да", то все-равно возникает стандартное окно, что объесть изменен и т.д. и т.п. Как сделать, чтобы его не было?
DrLivsi
Михрутка @ Сегодня, 17:52 необходимо зарегистрироваться для просмотра ссылки,

Если Товары.Количество() = 0 Тогда
        Ответ = Вопрос("В документе нет товаров. Закрыть документ без записи? 'Да'-документ будет закрыт, 'Нет' - продолжить редактирование",РежимДиалогаВопрос.ДаНет);
        Если Ответ = КодВозвратаДиалога.Да Тогда
            ЭтаФорма.Модифицированность() = Ложь;
            ЭтаФорма.Закрыть();
        Иначе
            Отказ = Истина;
        КонецЕсли;
    КонецЕсли;

Михрутка
Цитата(DrLivsi @ 28.01.16, 17:00) необходимо зарегистрироваться для просмотра ссылки
ЭтаФорма.Модифицированность() = Ложь;

Так не работает. Вопрос не возникает, верно, но объект записывается в БД, а мне нужно, чтобы форма закрывалась и объект не записывался.
P.s.
Наверно это я забыл написать в вопросе...

Сделал вот так:
Если Товары.Количество() = 0 Тогда
        Ответ = Вопрос("В документе нет товаров. Закрыть документ без записи? 'Да'-документ будет закрыт, 'Нет' - продолжить редактирование",РежимДиалогаВопрос.ДаНет);
        Если Ответ = КодВозвратаДиалога.Да Тогда
            ЭтаФорма.Модифицированность() = Ложь;
            ЭтаФорма.Закрыть();
            Отказ = Истина;
        Иначе
            Отказ = Истина;
        КонецЕсли;
    КонецЕсли;

Работает. Но выглядит, как-то криво, как по мне(((
mac84
Михрутка @ Вчера, 18:04 необходимо зарегистрироваться для просмотра ссылки,
СтандартнаяОбработка = Ложь;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.