8.х проверка на запись

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем st88, 26 окт 2012.

  1. TopicStarter Overlay
    st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.725
    Симпатии:
    28
    Баллы:
    54
    Есть процедура Печать, которая запускается после нажатия кнопки печать на форме документа.
    Какое написать условие, чтобы перед выполнением, проверялось условие: если документ не записан то написать: «перед печатью необходимо записать документ», возврат; ???

    Код:
    Процедура Печать(Элемент)
    
    //{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать)
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    ТабДок = Новый ТабличныйДокумент;
    Макет = Документы.Разработка_документа.ПолучитьМакет("Печать");
    // Заголовок
    Область = Макет.ПолучитьОбласть("Заголовок");
    ТабДок.Вывести(Область);
    // Шапка
    Шапка = Макет.ПолучитьОбласть("Шапка");
    Шапка.Параметры.Заполнить(ЭтотОбъект);
    ТабДок.Вывести(Шапка);
    // Ведомость
    Область = Макет.ПолучитьОбласть("ВедомостьШапка");
    ТабДок.Вывести(Область);
    ОбластьВедомость = Макет.ПолучитьОбласть("Ведомость");
    Для Каждого ТекСтрокаВедомость Из Ведомость Цикл
    ОбластьВедомость.Параметры.Заполнить(ТекСтрокаВедомость);
    ТабДок.Вывести(ОбластьВедомость);
    КонецЦикла;[/color][/size][/font]
    [font="Times New Roman"][size="3"][color="#000000"]ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Защита = Истина;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.Показать();
    //}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ
    КонецПроцедуры
    
  2. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    Если ЭтоНовый() Тогда
    Предупреждение("Документ можно распечатать только после его записи");
    Возврат;
    КонецЕсли;
  3. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Сам же вот практически уже весь код написал. Немного ведь подумать осталось. Если освоите синтакс-помощник, очень многие вещи сможете решать самостоятельно и очень быстро.
  4. TopicStarter Overlay
    st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.725
    Симпатии:
    28
    Баллы:
    54
    Тогда правильнее будет так:
    Если ЭтоНовый() Тогда
    Предупреждение("Документ можно распечатать только после его записи");
    Возврат;
    КонецЕсли;
    если Модифицированность()=Истина
    тогда
    Предупреждение("В Документе есть изменения, его можно распечатать только после записи");
    Возврат;
    конецесли;
  5. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    Тогда уж так Если ЭтоНовый() ИЛИ Модифицированность=истина Тогда
  6. TopicStarter Overlay
    st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.725
    Симпатии:
    28
    Баллы:
    54
    а текст сообщения разный как ты будешь выводить тоже, или или, чтоб запутать юзверя?
  7. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    Хорошо тогда так:
    Если ЭтоНовый() Тогда
    Предупреждение №1
    ИначеЕсли Модифицированность = Истина Тогда
    Предупреждение №2
    КонецЕсли;
  8. TopicStarter Overlay
    st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.725
    Симпатии:
    28
    Баллы:
    54
    ок. убедили)
  9. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    ))

    Так сделано в типовой версии )))

Поделиться этой страницей