Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Запись без (пере)проведения          
Constantus Подменю пользователя
сообщение 14.08.19, 8:07
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, Форумчане!
1с8.3.12, самопис, БСП, УФ

В документе есть несколько реквизитов, которые не нужны в регистрах по данному документу.
Они чисто информационные и их при нажатии некой кнопки нужно просто и по-тихому записать.

&НаКлиенте
Процедура ДокументСдан(Команда)
    ДокументСданНаСервере();
    //ЭтотОбъект.Записать(РежимЗаписиДокумента.Запись);
    //ПриЗаписиПерепроводить(0);
    Записать();
    //ПриЗаписиПерепроводить(1);
    Парам = Новый Структура(); //108470
    Парам.Вставить("Основание",Объект.Ссылка);
    Парам.Вставить("Действие","Принят");
    Форм = ОткрытьФорму("Документ.ПрохождениеДокумента.ФормаОбъекта",Парам,,,ВариантОткрытияОкна.ОтдельноеОкно,,Новый ОписаниеОповещения("ДокументСданЗавершение", ЭтотОбъект, Новый Структура("Команда", Команда)),РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
    //Закрыть();
КонецПроцедуры

&НаСервере
Процедура ДокументСданНаСервере()
    Объект.Сдан = Истина;
    Объект.Принял = ПользователиКлиентСервер.АвторизованныйПользователь();
    Объект.ДатаПринятия = ТекущаяДата();
    Объект.ТекущийСтатус = Перечисления.СтатусыПрохожденияДокументов.Принят;
    
КонецПроцедуры


речь идет о 4-х реквизитах в нижней процедуре.

Как можно просто записать их без затрагивания процесса проведения?


takefive Подменю пользователя
сообщение 14.08.19, 8:46
Сообщение #2

Говорящий
***
Группа: Пользователи
Сообщений: 60
Из: Днепропетровск
Спасибо сказали: 22 раз
Рейтинг: 23.2

Объект.ОбменДанными.Загрузка = Истина;
Объект.Записать();


Signature
без свинга нет музыки...

Constantus Подменю пользователя
сообщение 14.08.19, 9:20
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

takefive @ Сегодня, 12:46 * ,

Из первой процедуры убрать Записать(), а во вторую добавить предложенный код?

takefive @ Сегодня, 12:46 * ,

&НаСервере
Процедура ДокументСданНаСервере()
    Объект.Сдан = Истина;
    Объект.Принял = ПользователиКлиентСервер.АвторизованныйПользователь();
    Объект.ДатаПринятия = ТекущаяДата();
    Объект.ТекущийСтатус = Перечисления.СтатусыПрохожденияДокументов.Принят;
    Объект.ОбменДанными.Загрузка = Истина;
    Объект.Записать();
КонецПроцедуры


Пишет, что ОбменДанными - поле не обнаружено...

Constantus @ Сегодня, 13:11 * ,

Все действия происходят в модуле формы документа

pablo Подменю пользователя
сообщение 14.08.19, 9:44
Сообщение #4

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

ОбменДанными - есть только в Типовых конфигурациях. В самописке нужно делать подобный механизм самому.

Сообщение отредактировал pablo - 14.08.19, 9:44


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Petre Подменю пользователя
сообщение 14.08.19, 10:18
Сообщение #5

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1145 раз
Рейтинг: 1225

Constantus @ Today, 9:20 * ,
1. Это надо делать в модуле объекта.
2. Для подобных вещей правильнее использовать подсистему Свойства.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

takefive Подменю пользователя
сообщение 14.08.19, 10:59
Сообщение #6

Говорящий
***
Группа: Пользователи
Сообщений: 60
Из: Днепропетровск
Спасибо сказали: 22 раз
Рейтинг: 23.2

ОбменДанными это свойство для типа "ДокументОбъект". ДокументОбъект можно получить методом формы РеквизитФормыВЗначение. Ну и, если изменили, вернуть обратно на форму не помешает...


Signature
без свинга нет музыки...

Constantus Подменю пользователя
сообщение 14.08.19, 11:19
Сообщение #7

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Много методов перепробовал... Вроде все рабочие, но всё равно у меня что-то более сильное сидит,
что выводит на проведение, а там у меня подписка на событие сидит "Перед записью"

В этой подписке проверяется дата запрета, если дата в диапазоне запрета, то

Отказ = Истина;

Подписка на событие:

    Если Источник.ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;

    ТекДата = ТекущаяДата();
    ПредМесяц = ДобавитьМесяц(ТекДата, - 1);
    ДатаБлокировки = ?(День(ТекДата) > 10, КонецМесяца(ПредМесяц), НачалоМесяца(ПредМесяц) - 1);

    Если Источник.Дата <= ДатаБлокировки Или ДатаСтара <= ДатаБлокировки Тогда
             Отказ = Истина;
    КонецЕсли;

Petre Подменю пользователя
сообщение 14.08.19, 11:57
Сообщение #8

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1145 раз
Рейтинг: 1225

Constantus @ Today, 11:19 * ,
Субъективное ощущение: причиной всему то, что вы вместо использования механизмов подсистем БСП придумываете свои "велосипеды".


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Constantus Подменю пользователя
сообщение 14.08.19, 13:21
Сообщение #9

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Petre @ Сегодня, 15:57 * ,

Это да... Но что сейчас можно сделать... Наследство...

Подсказали, вроде работает:

&НаКлиенте
Процедура ЗаписатьБезПроведения(Команда)
    УказатьПерепроводить(Ложь);
    Записать(Новый Структура("РежимЗаписи,НеПерепроводить", РежимЗаписиДокумента.Запись, Истина));
КонецПроцедуры

&НаСервере
Процедура УказатьПерепроводить(Перепроводить)
    ПриЗаписиПерепроводить = Перепроводить;
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Если ПараметрыЗаписи.Свойство("НеПерепроводить") Тогда
        ТекущийОбъект.ОбменДанными.Загрузка = Истина;
    КонецЕсли;
КонецПроцедуры


Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 17:25
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!