Имя: Пароль:
1C
 
Не записывает данные в регистр сведений.
0 yyyuuu
 
20.07.16
16:00
Не могу понять почему вроде код верен, но записи в регистр все ровно не попадают в чем может быть дело

Движения.ОстаткиТоваров.Записывать = Истина;
    Для Каждого ТекСтрокаТовары Из Товары Цикл
        Движение = Движения.ОстаткиТоваров.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
        Движение.Период = Дата;
        Движение.Номенклатура = ТекСтрокаТовары.Товар;
        Движение.Количество = ТекСтрокаТовары.Количество;
        Движение.Выручка = ТекСтрокаТовары.Сумма;
    КонецЦикла;
    
    Движения.Записать(); // Записываем движения во все регистры ИСТИНА
    
    Если Режим = РежимПроведенияДокумента.Оперативный Тогда    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ОстаткиТоваровОстатки.Номенклатура,
        |    -ОстаткиТоваровОстатки.КоличествоОстаток КАК Количество
        |ИЗ
        |    РегистрНакопления.ОстаткиТоваров.Остатки(
        |            ,
        |            Номенклатура В
        |                (ВЫБРАТЬ
        |                    РеализацияТоваровТовары.Товар
        |                ИЗ
        |                    Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
        |                ГДЕ
        |                    РеализацияТоваровТовары.Ссылка = &Ссылка)) КАК ОстаткиТоваровОстатки
        |ГДЕ
        |    ОстаткиТоваровОстатки.КоличествоОстаток < 0";
    
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    
    РезультатЗапроса = Запрос.Выполнить();
    Если НЕ РезультатЗапроса.Пустой() Тогда
        
        Отказ = Истина;
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Сообщить ("По номенклатуре "+ ВыборкаДетальныеЗаписи.Номенклатура + " остаток "+ ВыборкаДетальныеЗаписи.Количество);
            КонецЦикла;
КонецЕСли;
КонецЕсли;

Если Отказ Тогда
    
    Возврат;
    
            //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ОстаткиТоваровОстатки.Номенклатура,
        |    ОстаткиТоваровОстатки.КоличествоОстаток КАК Количество,
        |    ОстаткиТоваровОстатки.СуммаОстаток КАК Сумма
        |ИЗ
        |    РегистрНакопления.ОстаткиТоваров.Остатки(
        |            &МоментВремени,
        |            Номенклатура В
        |                (ВЫБРАТЬ
        |                    РеализацияТоваровТовары.Товар
        |                ИЗ
        |                    Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
        |                ГДЕ
        |                    РеализацияТоваровТовары.Ссылка = &Ссылка)) КАК ОстаткиТоваровОстатки";
    
    Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    
    РезультатЗапроса = Запрос.Выполнить();
    

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Движения.ОстаткиТоваров.Записывать = Истина;
        
    Движения.Продажи.Записывать = Истина;
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        Для каждого Движение из Движения.ОстаткиТоваров Цикл
            
            Если Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура Тогда
                
                Движение.Сумма = Движение.Количество * ВыборкаДетальныеЗаписи.Сумма/ВыборкаДетальныеЗаписи.Количество;
                
                ДвижениеПродажи = Движения.Продажи.Добавить();
                ДвижениеПродажи.Период = Дата;
                ДвижениеПродажи.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
                ДвижениеПродажи.Контрагент = Контрагент;
                ДвижениеПродажи.Сумма = Движение.Выручка;
                ДвижениеПродажи.Себестоимость = Движение.Сумма;
                ДвижениеПродажи.Количество = Движение.Количество;
    
            КонецЕсли;
            
        КонецЦикла;
        
    КонецЦикла;
    
           КонецЕсли;
КонецПроцедуры
1 Nuobu
 
20.07.16
16:03
(0) Не сведений, а Накоплений.
2 vicof
 
20.07.16
16:04
КонецЕсли не там
3 Dmitrith
 
20.07.16
16:06
два раза в разных местах:
Движения.ОстаткиТоваров.Записывать = Истина;

Если речь идет о регистре Продажи то нет записи движений этого регистра
4 yyyuuu
 
21.07.16
01:33
Ошибку нашел конец если не там стоял.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший