Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Проведение в управляемых формах

Проведение в управляемых формах
Я
   mirror1982
 
24.10.16 - 13:18
Розница 2.0 Создал новый регистр накопления. Пишу в процедуре обработка проведения документа код:

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

Провожу документ. Движение по регистру этого документа не происходит. В чем может быть дело? Естественно проставлено, что документ является регистратором для данного регистра, также проставлены права на регистр накопления.
 
 
   kochurovg
 
1 - 24.10.16 - 13:20
Видимо на добавить : Движение.Регистратор = Ссылка
   mirror1982
 
2 - 24.10.16 - 13:21
(1) не помогло
   Альбатрос
 
3 - 24.10.16 - 13:23
(2) Воспользуйся конструктором движений.
   Chameleon1980
 
4 - 24.10.16 - 13:24
а конструктор движений какой текст нарисует?
попробуй и найди ошибку
   jsmith
 
6 - 24.10.16 - 13:25
убери очистить
   mirror1982
 
7 - 24.10.16 - 13:30
(5) чем не нравится код?
   mirror1982
 
8 - 24.10.16 - 13:30
Движения.Взаиморасчеты.Записывать=Истина;
    Движения.Взаиморасчеты.Очистить();
    Движение=Движения.Взаиморасчеты.Добавить();
    Движение.ВидДвижения=ВидДвиженияНакопления.Приход;
    Движение.Период=Дата;
    Движение.Контрагент=Контрагент;
    Движение.Сумма=Товары.Итог("Сумма");
    Движение.Регистратор=Ссылка;
    
    ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);
    
    Документы.ПоступлениеТоваров.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);
    
    ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
    
    ЗапасыСервер.ОтразитьТоварыНаСкладах(ДополнительныеСвойства, Движения, Отказ);
    ЗапасыСервер.ОтразитьТоварыОрганизаций(ДополнительныеСвойства, Движения, Отказ);
    ЗапасыСервер.ОтразитьТоварыКПоступлению(ДополнительныеСвойства, Движения, Отказ);
    ЗапасыСервер.ОтразитьДвиженияСебестоимостьНоменклатуры(ДополнительныеСвойства, Движения, Отказ);
    ЗапасыСервер.ОтразитьДвиженияСерийныхНомеров(ДополнительныеСвойства, Движения, Отказ);
    ЗапасыСервер.ОтразитьДвиженияНоменклатураПоставщиков(ДополнительныеСвойства, Движения, Отказ);
    ЗапасыСервер.ОтразитьДвиженияСерийТоваров(ДополнительныеСвойства, Движения, Отказ);
    ЗапасыСервер.ОтразитьДвиженияСебестоимостьПоставкиТоваров(ДополнительныеСвойства, Движения, Отказ);
    ЗакупкиСервер.ОтразитьЗаказыТоваров(ДополнительныеСвойства, Движения, Отказ);
    ЗакупкиСервер.ОтразитьЗакупкиТоваров(ДополнительныеСвойства, Движения, Отказ);
    ДенежныеСредстваСервер.ОтразитьРасчетыСПоставщиками(ДополнительныеСвойства, Движения, Отказ);
    СформироватьСписокРегистровДляКонтроля();
    ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
    ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
    ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
    
    ДополнительныеСвойства.Вставить("Отказ", Отказ);
    
    Если ЗначениеЗаполнено(ЗаказПоставщику) Тогда
        ЗакупкиСервер.ОбновитьСостояниеОплатыПоступления(ЗаказПоставщику);
    Иначе
        ЗакупкиСервер.ОбновитьСостояниеОплатыПоступления(Ссылка);
    КонецЕсли;
   mirror1982
 
9 - 24.10.16 - 13:31
вот полный код, если убираю нижнюю часть кода. то все ок. наверное она и очищает движения
   SadrArt
 
10 - 24.10.16 - 13:34
(5) А что не так?
 
 Рекламное место пустует
   jsmith
 
11 - 24.10.16 - 13:35
(10) Код не отформатирован
   SadrArt
 
12 - 24.10.16 - 13:35
(9) Скорее всего стирает движения вот здесь:

ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
   jsmith
 
13 - 24.10.16 - 13:35
И между знаками препинания пробелы должны быть
   SadrArt
 
14 - 24.10.16 - 13:36
(13) > должны быть
Что серьезно?
   jsmith
 
15 - 24.10.16 - 13:38
(14) Конечно
   jsmith
 
16 - 24.10.16 - 13:38
Посмотри типовые. Везде пробелы
   newbling
 
17 - 24.10.16 - 13:47
(16) это уже на любителя.

ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект)
надо делать до внесения всяческих изменений. Провались туда, посмотри.
   newbling
 
18 - 24.10.16 - 13:47
или в инициализации скорее даже. Обычно инициализация задаёт пустые значения.
   mirror1982
 
19 - 24.10.16 - 13:58
не пишет в регистр, если не закомментирована эта строка:
   mirror1982
 
20 - 24.10.16 - 13:58
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
   mirror1982
 
21 - 24.10.16 - 13:59
а вот ее код:

Процедура ЗаписатьНаборыЗаписей(Знач Объект) Экспорт
    Перем РегистрыДляКонтроля;

    
    // Регистры, для которых будут рассчитаны таблицы изменений движений.

    Если Объект.ДополнительныеСвойства.ДляПроведения.Свойство("РегистрыДляКонтроля", РегистрыДляКонтроля) Тогда
        Для Каждого НаборЗаписей Из РегистрыДляКонтроля Цикл
            Если НаборЗаписей.Записывать Тогда

                // Установка флага регистрации изменений в наборе записей.

                НаборЗаписей.ДополнительныеСвойства.Вставить("РассчитыватьИзменения", Истина);
                НаборЗаписей.ДополнительныеСвойства.Вставить("ЭтоНовый", Объект.ДополнительныеСвойства.ЭтоНовый);

                // Структура для передачи данных в модули наборов записей.

                НаборЗаписей.ДополнительныеСвойства.Вставить("ДляПроведения", 
                        Новый Структура("СтруктураВременныеТаблицы", Объект.ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы));

            КонецЕсли;
        КонецЦикла;
    КонецЕсли;

    
    Объект.Движения.Записать();

КонецПроцедуры
   mirror1982
 
22 - 24.10.16 - 14:08
все решил проблему. всем спасибо!


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует