8.х Ошибка проведения документа из журнала

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

  1. TopicStarter Overlay
    LesPaul
    Offline

    LesPaul

    Регистрация:
    17 ноя 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Платформа 1С 8.0
    Итак, пример кода:
    Код:
    Процедура ОбработкаПроведения(Отказ)
    Дата = ТекущаяДата();
    
    Для Каждого ТекСтрокаТовары Из Товары Цикл
    Движение = Движения.Перемещения.Добавить();
    Движение.Период = Дата;
    Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
    Движение.Количество = ТекСтрокаТовары.Количество;
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    КонецЦикла;
    КонецПроцедуры
    
    
    Если документ проводить из формы самого документа, то его дата изменится, а если найти этот документ в журнале, вызвать его контекстное меню и нажать в этом меню "Провести", то дата не изменится на рабочую, но при этом сама процедура ОбработкаПроведения срабатывает.

    В чем дело?
    Может, глюк платформы и в 8.1. или 8.2 все исправлено?
    Любая информация поможет!
  2. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    сделал все как у вас - всё работает. попробуйте воспользоваться точкой останова и F11.
  3. TopicStarter Overlay
    LesPaul
    Offline

    LesPaul

    Регистрация:
    17 ноя 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Пробовал - все равно не работает.
    У меня платформа 8.0.
    Может, из-за этого?
  4. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    А попробуйте записать документ, после изменения даты. Ведь в форме вы запускате ПриЗаписи, а тут - нет.
  5. TopicStarter Overlay
    LesPaul
    Offline

    LesPaul

    Регистрация:
    17 ноя 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Вот как выглядит процедура теперь (проведение по регистрам удалил, чтобы не плодить код)
    Код:
    Процедура ОбработкаПроведения(Отказ)
    Дата = ТекущаяДата();
    Ссылка.ПолучитьОбъект().Записать();
    КонецПроцедуры
    
    
    И даже в этом случае работает только проведение кнопкой формы документа.
    И еще, проверил что не работает не только проведение в журнале, но и проведение кнопкой командной панели документа (той что вверху формы)
  6. eviloid
    Offline

    eviloid Опытный в 1С

    Регистрация:
    15 май 2008
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    а если так:
    Код:
    Процедура ОбработкаПроведения(Отказ)
    ЭтотОбъект.Дата = ТекущаяДата();
    ЭтотОбъект.Записать();
    КонецПроцедуры
    
    
    P.S. проверял на релизе 8.0.18 - замечательно работает :unsure:
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Убил бы за такое в обработке проведения.
    Перенесите код в процедуру ПередЗаписью и изучите, как работают транзакции записи в 1С
  8. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Вообще не понятно, зачем менять дату документа? Пользуйтесь оперативным режимом и запретите неоперативный и платформа сама будет устанавливать текущее время при проведении. Смену даты документа, если все-таки это так необходимо, надо указывать в процедуре "ПередЗаписью" в модуле документа, тогда это будет действовать и для записи в форме и из обработки.
  9. TopicStarter Overlay
    LesPaul
    Offline

    LesPaul

    Регистрация:
    17 ноя 2007
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Если бы все было так легко, я бы сам убил:)
    НО!
    Это действительно нужно ИМЕННО в обработке проведения, а не при записи. И откат в случае неудавшегося проведения тоже надо предусматривать в вашем случае.
  10. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    В случае открата проведения, откатываются так же изменения, сделанные в процедуре "ПередЗаписью"
  11. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    1С Предприятие 8.1 Конфигурирование и администрирование. Часть IV. Краткий справочник разработчика. Документы. ознакомьтесь пожалуйста

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