7.7 Изменить дату проведенного документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем chehonte, 19 апр 2019.

  1. TopicStarter Overlay
    chehonte
    Offline

    chehonte Опытный в 1С

    Регистрация:
    26 фев 2007
    Сообщения:
    196
    Симпатии:
    0
    Баллы:
    26
    1С 7.7. Бух 4.5
    Задача - есть план производства - документы. Все документы проведены, т.к. фиксируют материалы.
    В одном документе - задача на одну партию изделий.
    Когда партия выполняется - ставим галочку "готово" и списываются материалы и открывается доступ на расчет зарплаты...
    Так вот часто бывает что по датам запуск не совпадает.
    Нужно чтобы при установлении галочки "готово" документ менял дату на рабочую. Это возможно? Как?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.579
    Симпатии:
    539
    Баллы:
    204
    Если галка на форме самого документа то
    в формуле реквизита

    Проведен=Проведен();
    Если Проведен=1 Тогда
    СделатьНеПроведенным();
    КонецЕсли;
    ДатаДок=ТекущаяДата();
    Записать();
    Если Проведен=1 Тогда
    Провести();
    КонецЕсли;
  3. TopicStarter Overlay
    chehonte
    Offline

    chehonte Опытный в 1С

    Регистрация:
    26 фев 2007
    Сообщения:
    196
    Симпатии:
    0
    Баллы:
    26
    СделатьНеПроведенным()
    Замечание:
    Метод нельзя использовать в теле предопределенной процедуры ОбработкаПроведения.
    Метод можно использовать только для объектов, созданных функцией СоздатьОбъект.

    Когда я делаю создатьОбъект и вызываю СделатьНеПроведенным() мой документ заблокирован...
    --- Объединение сообщений, 21 апр 2019 ---
    Вот ошибки
    Это как по примеру
    СделатьНеПроведенным();
    {Документ.ПланЗаявкаОтКлиента.Форма.Модуль(4756)}: Данная команда не может выполняться в формуле элемента диалога!


    Это через создатьОбъект
    ДокВременный.СделатьНеПроведенным();
    {Документ.ПланЗаявкаОтКлиента.Форма.Модуль(4758)}: Объект заблокирован: План. Заявка от клиента 25
    Последнее редактирование: 21 апр 2019
  4. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.977
    Симпатии:
    465
    Баллы:
    104
    При установке "галочки" через формулу реквизита сменить дату документа на рабочую ( тут ещё момент, рабочую или текущую, а то иногда рабочая бывает сбита/не совпадать)

    и процедуре "ПриОткрытии" использовать
    Код:
    ПриЗаписиПерепроводить(1);
    нажимаем "Записать" и документ записывается и перепроводится если он проведён.
  5. TopicStarter Overlay
    chehonte
    Offline

    chehonte Опытный в 1С

    Регистрация:
    26 фев 2007
    Сообщения:
    196
    Симпатии:
    0
    Баллы:
    26

    Нельзя менять дату проведенного документа. Т.е. придется сделать его не проведенным, а потом провести.
    Нужно программно, т.к. программу ведут простые работяги, а не спецы.

    Дата - РАБОЧАЯ
    Галочка - В САМОМ ДОКУМЕНТЕ. Т.е. открывается документ в нем ставиться галочка и вот в нем же и нужно изменить дату, а документ проведен...
  6. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.977
    Симпатии:
    465
    Баллы:
    104
    Дату то оно менять, провести потом не даёт, ругается что дата проведённого изменена.

    Ну тогда писать маленькую обработку и на форме делать ещё одну галочку, например "Обработано" (и не доступную для редактирования вручную), рядом с галочкой "Готово"

    в документе взводим "Готово", запускаем обработку, которая ищет док-ты у которых Готово =1 и Обработано=0
    при нахождении таковых обработка снимает документ с проведения, меняет дату документа и проводит документ


    PS
    всем предыдущим закрытым (с галочкой Готово=1) документам вторую галочку можно типовой обработкой установить в 1
  7. TopicStarter Overlay
    chehonte
    Offline

    chehonte Опытный в 1С

    Регистрация:
    26 фев 2007
    Сообщения:
    196
    Симпатии:
    0
    Баллы:
    26

    Правильно ли понял?
    Сделать обработку которая снимает проведение, меняет дату и проводит?
    Вопрос как запустить обработку для которой нужно чтобы документ был закрыт, т.к. в открытом документе не выполняются операции СделатьНеПроведенным();
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    22.579
    Симпатии:
    539
    Баллы:
    204
    Да. Лоханулся. Менять дату проведенного документа можно только через внешнюю обработку.