Проверка на Новый документ в ОбработкаПроведения()
По теме из базы знаний
- Проверка рентабельности по реализациям при проведении
- Пример создания документа с движениями в ERP 2.5.7
- Подключение подсистемы исправления документов и регистров в конфигурации ЗУП 3.1
- Как проводятся документы в типовых конфигурациях от 1С: дополнение
- Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия
Найденные решения
(4)
Вот так
передать признак и в обработке проведения смотерть на него и принимать решение!
Вот так
Код |
---|
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
ДополнительныеСвойства.Вставить("РежимЗаписи", РежимЗаписи);
//что то ваше
КонецПроцедуры
Показать полностью |
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)СП иногда читайте ПередЗаписью() в модуле формы или модуль объекта?
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ЭтоНовый (IsNew)
Синтаксис:
ЭтоНовый()
Возвращаемое значение:
Тип: Булево.
Истина - изменяется еще ни разу не записанный документ; Ложь - документ уже записан.
Описание:
Определяет, записан ли документ в базу данных.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:
Если РасходнаяНакладная.ЭтоНовый() Тогда
РасходнаяНакладная.Записать();
КонецЕсли;
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ЭтоНовый (IsNew)
Синтаксис:
ЭтоНовый()
Возвращаемое значение:
Тип: Булево.
Истина - изменяется еще ни разу не записанный документ; Ложь - документ уже записан.
Описание:
Определяет, записан ли документ в базу данных.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:
Если РасходнаяНакладная.ЭтоНовый() Тогда
РасходнаяНакладная.Записать();
КонецЕсли;
(4)
Вот так
передать признак и в обработке проведения смотерть на него и принимать решение!
Вот так
Код |
---|
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
ДополнительныеСвойства.Вставить("РежимЗаписи", РежимЗаписи);
//что то ваше
КонецПроцедуры
Показать полностью |
(11) Специально для Вас сер
Просьба отладкой стать в процедуре ОбработкаПроведения() и при помощи [Shift+F9] вычислить
и результат скрином.
док = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
Док.Дата = ТекущаяДата();
Док.УстановитьНовыйНомер();
док.Записать(РежимЗаписиДокумента.Проведение);
Просьба отладкой стать в процедуре ОбработкаПроведения() и при помощи [Shift+F9] вычислить
ЭтоНовый()
и результат скрином.
(13)Что бы было понятно про дополнительные свойства скрин с кусочком кода
ДополнительныеСвойства не надо никак объявлять это свойство документа В ПередЗаписью вставили, в обработке проведения проверили.
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ДополнительныеСвойства (AdditionalProperties)
Использование:
Только чтение.
Описание:
Тип: Структура.
Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
ДополнительныеСвойства не надо никак объявлять это свойство документа В ПередЗаписью вставили, в обработке проведения проверили.
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ДополнительныеСвойства (AdditionalProperties)
Использование:
Только чтение.
Описание:
Тип: Структура.
Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Прикрепленные файлы:
(10) В обработке проведения, априори не может быть нового документа. Туда попадает когда документ уже записан в базу данных, имеет ссылку и уже технически не является новым.
Признак передать можно, проверив перед записью и передав через доп свойства, но это имеет свои баги,
например записать документ - открыть закрыть форму, и потом провести. Вроде новый документ, первый раз проводится - но проверка не проканает.
Тут либо задачу надо пересмотреть, либо какой-то более материальный признак проверять..(например сверять дату документа с текущей датой). Либо понимать, и принимать, несовершенство данной проверки.
Признак передать можно, проверив перед записью и передав через доп свойства, но это имеет свои баги,
например записать документ - открыть закрыть форму, и потом провести. Вроде новый документ, первый раз проводится - но проверка не проканает.
Тут либо задачу надо пересмотреть, либо какой-то более материальный признак проверять..(например сверять дату документа с текущей датой). Либо понимать, и принимать, несовершенство данной проверки.
(15)
Ошибаетесь уважаемый.
Вот создан новый документ провожу, остановка на обработке проведения. ЭтоНовый в истине ;)
В обработке проведения, априори не может быть нового документа. Туда попадает когда документ уже записан в базу данных, имеет ссылку и уже технически не является новым.
Ошибаетесь уважаемый.
Вот создан новый документ провожу, остановка на обработке проведения. ЭтоНовый в истине ;)
Прикрепленные файлы:
(18)
Я прочитал топик, и понимаю задание. Поэтому и дополнил ваши ,безусловно верные ответы, дополнительной информацией, чтобы ТС потом не удивлялся, что в каких то случаях - у него это срабатывать не будет.
В задании надо проверку сделать в обработке проведения и сделать это можно передав эту информацию через дополнительные
свойства.
свойства.
Я прочитал топик, и понимаю задание. Поэтому и дополнил ваши ,безусловно верные ответы, дополнительной информацией, чтобы ТС потом не удивлялся, что в каких то случаях - у него это срабатывать не будет.
(16) у тебя на скрине ЭтоНовый - это ключ переданной структуры, которая была передана из процедуры "передЗаписью".
А сама функция ЭтоНовый() всегда в обработке проведения будет давать Ложь, как раз по причине того, что документ сначала записывается, а потом проводится.
А сама функция ЭтоНовый() всегда в обработке проведения будет давать Ложь, как раз по причине того, что документ сначала записывается, а потом проводится.
(19)Так именно это и надо - в обработке проведения выяснить новый документ или нет. При проведении уже записанного документа этот ключ будет всегда в ложь, и только при первой записи в истине.
Управляемое приложение. Нужно при проведении проверять новый это док или нет.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот