[РЕШЕНО] Как можно определить, записан документ или нет?

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

  1. TopicStarter Overlay
    leklerk
    Offline

    leklerk Опытный в 1С

    Регистрация:
    29 май 2013
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте. У меня такая ситуация: прежде чем сформировать печатную форму из документа, нужно проверить, записан ли документ или нет. Как это можно сделать в 1с 8.2 (обычное приложение)?
    Заранее благодарен!
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    В смысле как???
  3. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Код:
    Если ЭтоНовый() Тогда
    Сообщить("Документ должен быть записан");
    Иначе
    //формируем печ.форму
    КонецЕсли;
  4. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Обычно в типовых 8.2 "встроенный" механизм.
    А по сути - перед печатью, получаете ссылку на объект и проверяете, проведен или нет.
    Код:
    СсылкаНаОбъект = ВашДокумент.Ссылка;
    Если СссылкаНаОбъект.Проведен() Тогда
    ВыполнениеУсловий;
    КонецЕсли;
  5. jonsony
    Offline

    jonsony Опытный в 1С Заблокирован

    Регистрация:
    16 апр 2009
    Сообщения:
    224
    Симпатии:
    25
    Баллы:
    29
    вообще-то печатная форма должна при проведённом выводиться
  6. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Не тлумите голову, смотрите как в типовых сделано...
  7. TopicStarter Overlay
    leklerk
    Offline

    leklerk Опытный в 1С

    Регистрация:
    29 май 2013
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Спасибо, но мне надо проверять не на "новый или нет" или "проведен или нет", а на "записан или нет" (или наоборот "изменен или нет").
    --- Объединение сообщений, 14 мар 2014 ---
    Да, через типовые сделал, нормально.
  8. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Измененный - Модифицированность()
    Записанный - достаточно на ссылку, т.к. если объект записан в ИБ - он имеет ссылку
    Проведенный - уже писал.
  9. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну дык если Новый(), то значит не записан... у Новый нет ссылки. Разве не так?
  10. TopicStarter Overlay
    leklerk
    Offline

    leklerk Опытный в 1С

    Регистрация:
    29 май 2013
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    alexburn, я пробовал во внешней печатной форме проверять на Модифицированность(), при измененном документе возвращается Ложь, вот код:
    Код:
    МОбъект = СсылкаНаОбъект.ПолучитьОбъект();
        Если МОбъект.Модифицированность() Тогда
           
            Предупреждение("Документ был изменен. Для печати его нужно записать.");
            Возврат Неопределено;      
           
        КонецЕсли;
    --- Объединение сообщений, 14 мар 2014 ---
    Tiger86, меня интересует ситуация, когда уже не новый, был записан, а потом изменен.
  11. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    в описании метода
    вы его только что считали, потому не изменен. Попробуйте закоментить первую строку
    Код:
     Если ЭтотОбъект.Модифицированность() Тогда
          
            Предупреждение("Документ был изменен. Для печати его нужно записать.");
            Возврат Неопределено;     
          
        КонецЕсли;
  12. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Если формы обычные - посмотрите в СП доступность этого свойства.
    --- Объединение сообщений, 14 мар 2014 ---
    ЭтотОбъект отработает для печатной формы :)
  13. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    чет меня заносит... но в любом случае, его код модифицированность всегда вернет ложь, так как момент считывания объекта в переменную происходит перед проверкой свойства...
    --- Объединение сообщений, 14 мар 2014 ---
    как вариант. Добавить реквизит в док. Если происходит изменение - то ложь, как записали, так истина... Тогда при формировании печатной формы проверят этот реквизит
  14. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Обять велик с квадратными колесами. В типовых реализован механизм, тут или его править, или отказываться от такой реализации.
  15. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну да... сегодня пятница, день великов с квадратными колесами ))))

    З.Ы, пардон, заносит на поворотах
  16. TopicStarter Overlay
    leklerk
    Offline

    leklerk Опытный в 1С

    Регистрация:
    29 май 2013
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Всем спасибо, да, взял из типовых, проблема решена...

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