8.х Запись в регистр бухгалтерии

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем AlenkaInt, 15 ноя 2014.

  1. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Здравствуйте. Не могу сделать так, чтобы в регистре не затирались старые записи.
    Такой код:
    Код:
    Процедура ДвиженияПоБУ(Движения, РезультатТМЦ) Экспорт
    
        Движения.РегистрБухгалтерииХозрасчетный.Загрузить(РезультатТМЦ.Выгрузить());
        Движения.РегистрБухгалтерииХозрасчетный.Записывать = Истина;
    
    КонецПроцедуры
    
    Процедура ДвиженияПоБУУслуги(Движения, РезультатТМЦУслуги) Экспорт    
        Движения.РегистрБухгалтерииХозрасчетный.Записывать = Истина;
        Движения.РегистрБухгалтерииХозрасчетный.Загрузить(РезультатТМЦУслуги.Выгрузить());
        Движения.РегистрБухгалтерииХозрасчетный.Записать();
        КонецПроцедуры
    
    В таком виде записываются только услуги. Если я пишу - Движения.РегистрБухгалтерииХозрасчетный.Записать(Ложь), то вообще пустой набор.. Подскажите, что делаю не так.
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.568
    Симпатии:
    717
    Баллы:
    204
    Логично, т.к. вы загружаете в набор записей таблицу с услугами последней - она и записывается.
    Необходимо сделать
    Движения.РегистрБухгалтерииХозрасчетный.Записать() и для РезультатТМЦ, а движения с услугами записывать уже с помощью
    Движения.РегистрБухгалтерииХозрасчетный.Записать(Ложь);
  3. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Когда я пишу -
    Процедура ДвиженияПоБУУслуги(Движения, РезультатТМЦУслуги) Экспорт
    Движения.РегистрБухгалтерииХозрасчетный.Записывать = Истина;
    Движения.РегистрБухгалтерииХозрасчетный.Загрузить(РезультатТМЦУслуги.Выгрузить());
    Движения.РегистрБухгалтерииХозрасчетный.Записать(Ложь);
    КонецПроцедуры
    У меня вообще нет движений.
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.568
    Симпатии:
    717
    Баллы:
    204
    А что говорит "Вычислить значение" про содержимое набора записей в отладчике, если установить точку останова на строке с методом Записать(Ложь)?
    Очищение набора или перезапись набора записей может происходить дальше по коду процедуры проведения документа - надобно разобраться.
  5. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    На строчке Движения.РегистрБухгалтерииХозрасчетный.Загрузить(РезультатТМЦУслуги.Выгрузить()) в наборе записи о товарах.
    На строчке Движения.РегистрБухгалтерииХозрасчетный.Записать(Ложь) в наборе записи только о услугах...
  6. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.568
    Симпатии:
    717
    Баллы:
    204
    Должно быть вот так:
    Код:
    Процедура ДвиженияПоБУ(Движения, РезультатТМЦ) Экспорт
        Движения.РегистрБухгалтерииХозрасчетный.Загрузить(РезультатТМЦ.Выгрузить());
        Движения.РегистрБухгалтерииХозрасчетный.Записывать = Истина;
        Движения.РегистрБухгалтерииХозрасчетный.Записать(Ложь);
    КонецПроцедуры
    
    Процедура ДвиженияПоБУУслуги(Движения, РезультатТМЦУслуги) Экспорт   
        Движения.РегистрБухгалтерииХозрасчетный.Записывать = Истина;
        Движения.РегистрБухгалтерииХозрасчетный.Загрузить(РезультатТМЦУслуги.Выгрузить());
        Движения.РегистрБухгалтерииХозрасчетный.Записать(Ложь);
    КонецПроцедуры
  7. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Набор пустой получается..
  8. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.568
    Симпатии:
    717
    Баллы:
    204
    после окончания проведения или в какой-то из процедур?
    Проверять на пустоту набор необходимо перед его записью, так же необходимо убедится, что набор не очищается после этих двух процедур.

Поделиться этой страницей