Приветствую, Форумчане!
1с8.3.12, самопис, БСП, УФ
В документе есть несколько реквизитов, которые не нужны в регистрах по данному документу.
Они чисто информационные и их при нажатии некой кнопки нужно просто и по-тихому записать.
речь идет о 4-х реквизитах в нижней процедуре.
Как можно просто записать их без затрагивания процесса проведения?
1с8.3.12, самопис, БСП, УФ
В документе есть несколько реквизитов, которые не нужны в регистрах по данному документу.
Они чисто информационные и их при нажатии некой кнопки нужно просто и по-тихому записать.
&НаКлиенте
Процедура ДокументСдан(Команда)
ДокументСданНаСервере();
//ЭтотОбъект.Записать(РежимЗаписиДокумента.Запись);
//ПриЗаписиПерепроводить(0);
Записать();
//ПриЗаписиПерепроводить(1);
Парам = Новый Структура(); //108470
Парам.Вставить("Основание",Объект.Ссылка);
Парам.Вставить("Действие","Принят");
Форм = ОткрытьФорму("Документ.ПрохождениеДокумента.ФормаОбъекта",Парам,,,ВариантОткрытияОкна.ОтдельноеОкно,,Новый ОписаниеОповещения("ДокументСданЗавершение", ЭтотОбъект, Новый Структура("Команда", Команда)),РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
//Закрыть();
КонецПроцедуры
&НаСервере
Процедура ДокументСданНаСервере()
Объект.Сдан = Истина;
Объект.Принял = ПользователиКлиентСервер.АвторизованныйПользователь();
Объект.ДатаПринятия = ТекущаяДата();
Объект.ТекущийСтатус = Перечисления.СтатусыПрохожденияДокументов.Принят;
КонецПроцедуры
Показатьречь идет о 4-х реквизитах в нижней процедуре.
Как можно просто записать их без затрагивания процесса проведения?
По теме из базы знаний
- Rocket Launcher 7.7. Свертка базы 1С 7.7. Перенос справочников и документов 7.7
- Изменение объектов и движений (только в умелые руки)
- Памятка по локализации проведения в ERP 2.5 с использованием расширения (новый регистр накопления)
- Инструкция по переносу объектов из расширения Cfe в основную конфигурацию Cf.
- Проведение оперативно-не-оперативно
Найденные решения
(12) вот тогда еще пример:
&НаКлиенте
Процедура ЗаписатьБезПроведения(Команда)
УказатьПерепроводить(Ложь);
Записать(Новый Структура("РежимЗаписи,НеПерепроводить", РежимЗаписиДокумента.Запись, Истина));
КонецПроцедуры
&НаСервере
Процедура УказатьПерепроводить(Перепроводить)
ПриЗаписиПерепроводить = Перепроводить;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ПараметрыЗаписи.Свойство("НеПерепроводить") Тогда
ТекущийОбъект.ОбменДанными.Загрузка = Истина;
КонецЕсли;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) как вариант:
&НаКлиенте
Процедура ЗаписатьБезПроведения(Команда)
УказатьПерепроводить(Ложь);
Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Запись));
КонецПроцедуры
&НаСервере
Процедура УказатьПерепроводить(Перепроводить)
ПриЗаписиПерепроводить = Перепроводить;
КонецПроцедуры
Показать
(6) Рабочий код с базы. Расположен в общем модуле "ПолныеПрава"
Ниже правильно заметили: Выполнять на сервере
Процедура ЗаписатьРеквизитДокумента(ДокументСсылка, ИмяРеквизита, значение) Экспорт
ДокОбъект = ДокументСсылка.ПолучитьОбъект();
ДокОбъект[ИмяРеквизита] = значение;
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
КонецПроцедуры
Ниже правильно заметили: Выполнять на сервере
Все предложенные методы перепробовал... Вроде все рабочие, но всё равно у меня что-то более сильное сидит, что выводит на проведение, а там у меня подписка на событие сидит "Перед записью"
В этой подписке проверяется дата запрета, если дата в диапазоне запрета, то
Отказ = Истина;
Подписка на событие:
В этой подписке проверяется дата запрета, если дата в диапазоне запрета, то
Отказ = Истина;
Подписка на событие:
Если Источник.ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
ТекДата = ТекущаяДата();
ПредМесяц = ДобавитьМесяц(ТекДата, - 1);
ДатаБлокировки = ?(День(ТекДата) > 10, КонецМесяца(ПредМесяц), НачалоМесяца(ПредМесяц) - 1);
Если Источник.Дата <= ДатаБлокировки Или ДатаСтара <= ДатаБлокировки Тогда
Отказ = Истина;
КонецЕсли;
Показать
(12) вот тогда еще пример:
&НаКлиенте
Процедура ЗаписатьБезПроведения(Команда)
УказатьПерепроводить(Ложь);
Записать(Новый Структура("РежимЗаписи,НеПерепроводить", РежимЗаписиДокумента.Запись, Истина));
КонецПроцедуры
&НаСервере
Процедура УказатьПерепроводить(Перепроводить)
ПриЗаписиПерепроводить = Перепроводить;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ПараметрыЗаписи.Свойство("НеПерепроводить") Тогда
ТекущийОбъект.ОбменДанными.Загрузка = Истина;
КонецЕсли;
КонецПроцедуры
Показать
(14)
Шайтан!!!
&НаКлиенте
Процедура ЗаписатьБезПроведения(Команда)
УказатьПерепроводить(Ложь);
Записать(Новый Структура("РежимЗаписи,НеПерепроводить", РежимЗаписиДокумента.Запись, Истина));
КонецПроцедуры
&НаСервере
Процедура УказатьПерепроводить(Перепроводить)
ПриЗаписиПерепроводить = Перепроводить;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ПараметрыЗаписи.Свойство("НеПерепроводить") Тогда
ТекущийОбъект.ОбменДанными.Загрузка = Истина;
КонецЕсли;
КонецПроцедуры
ПоказатьПроцедура ЗаписатьБезПроведения(Команда)
УказатьПерепроводить(Ложь);
Записать(Новый Структура("РежимЗаписи,НеПерепроводить", РежимЗаписиДокумента.Запись, Истина));
КонецПроцедуры
&НаСервере
Процедура УказатьПерепроводить(Перепроводить)
ПриЗаписиПерепроводить = Перепроводить;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ПараметрыЗаписи.Свойство("НеПерепроводить") Тогда
ТекущийОбъект.ОбменДанными.Загрузка = Истина;
КонецЕсли;
КонецПроцедуры
Шайтан!!!
Создаешь РегистрСведений, в который пихаешь все эти реквизиты формы + сам этот документ. ПриЗакрытии документа добавляешь/обновляешь все эти значения, ПриОткрытии заполняешь все эти значения из РегистрСведений. таким образом у тебя документ будет не модифицированным и основные реквизиты и процедуры не затронуться
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот