Книга знаний

1С:Предприятие / v8 / Приемы программирования

v8: Проведение документов по ссылке (сервер)

Создание движений документа на сервере, использую только ссылку документаАвтор статьи: acsent | Редакторы: Гений 1С
Последняя редакция №3 от 04.07.06 | История
URL: http://kb.mista.ru/article.php?id=267

Ключевые слова: сервер, проведение, оптимизация


Как известно передавать объект на сервер нельзя (мутабельное значение), поэтому при проведени на сервере становятся недоступны конструкции
Движение = Движения.МойРегистрНакопления.Добавить();
...
Движения.МойРегистрНакопления.Записать();


Но все-таки добавить движения имея только ссылку можно
Процедура Провести(Ссылка) Экспорт
    //Регистр накопления
    НаборЗаписей = РегистрыНакопления.РегистрНакопления.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
    НаборЗаписей.Прочитать();
    
    Для Каждого Стр ИЗ Ссылка.ТабличнаяЧасть Цикл
        Запись = НаборЗаписей.ДобавитьПриход();
        Запись.Период = Ссылка.Дата;
        Запись.Номенклатура = Стр.Номенклатура;
        Запись.Количество = Стр.Количество;
    КонецЦикла;    
    НаборЗаписей.Записать();
    
    //Регистр сведения
    НаборЗаписей = РегистрыСведений.РегистрСведений.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
    НаборЗаписей.Прочитать();
    
    Для Каждого Стр ИЗ Ссылка.ТабличнаяЧасть Цикл
        Запись = НаборЗаписей.Добавить();
        Запись.Номенклатура = Стр.Номенклатура;
        Запись.Значение = Стр.Количество;
    КонецЦикла;    
    НаборЗаписей.Записать();
КонецПроцедуры


Само проведение вызывается из модуля документа следующим образом:
Процедура ОбработкаПроведения(Отказ, Режим)
    Провести(Ссылка);
КонецПроцедуры


От Гения 1С:
Существует и другой способ. Вернуть набор записей в виде таблицы значений, содержащей немутабельные значения - это сервер позволяет. Занести полученные значения в набор Движения. Документ запишет их сам. :)

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика