8.х 1с83 КА 2.4 Дополнительная проводка к типовому документу

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

  1. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    Добрый день!
    1С:Комплексная автоматизация 2 (2.4.3.160)
    Документ - Передача сырья переработчику.
    Необходимо к существующим проводкам добавить дополнительную проводку по забалансу (003.02)
    Создал подписку на событие, в добавленном общем модуле написал нужны код, проводка создается и тут же затирается типовой при отражении документа в регламентированном учете.
    Подскажите, куда копнуть, чтобы сделать так, чтобы остались и все типовые проводки и добавилась к ним дополнительная?
    Заранее всем благодарен.
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.498
    Симпатии:
    983
    Баллы:
    204
    Необходимо выполнять свою проводку после формирования типовых проводок.
  3. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    сделал так:

    расширение

    Код:
    &После("ОбработкаПроведения")
    Процедура КА_ОбработкаПроведения(Отказ, РежимПроведения)
            // регистр Хозрасчетный
        Движения.Хозрасчетный.Записывать = Истина;
        Для Каждого ТекСтрокаТовары Из Товары Цикл
            Движение = Движения.Хозрасчетный.Добавить();
            Движение.СчетДт = ПланыСчетов.Хозрасчетный.МатериалыПринятыеВПереработку;
            Движение.Период = Дата;
            Движение.Организация = Организация;
            Движение.ПодразделениеДт = Подразделение;
            Движение.Сумма = ТекСтрокаТовары.Сумма;
            Движение.КоличествоДт = ТекСтрокаТовары.Количество;
            Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Контрагент;
            Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаТовары.Номенклатура;
        КонецЦикла;
    КонецПроцедуры
    
    и все равно. когда происходит отражение документа в регламентированном учете, то добавленные проводки удаляются
  4. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    это. наверное, мне надо идти и смотреть в общий модуль РеглУчетПроведениеСервер, Процедуру "Процедура ОтразитьВсе(ПериодРасчета, Организация = Неопределено, ДанныеПоОтражениюВУчете = Неопределено) Экспорт"
  5. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.498
    Симпатии:
    983
    Баллы:
    204
    Отражение в бух учете выполняется отдельно от всех движений, кнопкой Отразить в регл учете.
  6. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    я это знаю
    когда я провожу документ, нажимаю Дт/Кт, то вижу свои вновь созданные дописанные проводки, но типовых нет, затем происходит отражение документа в регламентированном учете и мои проводки удаляются и появляются типовые
    вот и вопрос: как сделать так. чтобы были и мои и типовые?
  7. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.498
    Симпатии:
    983
    Баллы:
    204
    Писать свои после записи типовых
  8. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    ни как не могу найти где это "после записи типовых" находится
  9. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.498
    Симпатии:
    983
    Баллы:
    204
    В модуле набора записей, в подписке на событие записи набора записей.
  10. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    не смог найти
  11. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.498
    Симпатии:
    983
    Баллы:
    204
    Вы не смогли найти модуль набора записей у регистра бухгалтерии или создать подписку на событие для регистра?
  12. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    Процедура ДопПроводкиПоРегиструХозрасчетныйПриЗаписи(Источник, Отказ, РежимЗаписи) Экспорт
    // Вставить содержимое обработчика.
    КонецПроцедуры
    подписку создал
    --- Объединение сообщений, 16 ноя 2018 ---
    Код:
    Процедура ДопПроводкиПоРегиструХозрасчетныйПриЗаписи(Источник, Отказ, РежимЗаписи) Экспорт
        // регистр Хозрасчетный
        Если ТипЗнч(Источник) = Документы.ПередачаСырьяПереработчику Тогда
            Если Источник.Давальческое - Истина Тогда       
                Наборы = Источник.Движения;
                Передача = Наборы.Хозрасчетный;
                Передача.Записывать = ИСТИНА;       
                Для Каждого ТекСтрокаТовары Из Источник.Товары Цикл
                    Движение =Передача.Добавить();
                    Движение.СчетДт = ПланыСчетов.Хозрасчетный.МатериалыПринятыеВПереработку;
                    Движение.Период = Источник.Дата;
                    Движение.Организация = Источник.Организация;
                    Движение.ПодразделениеДт = Источник.Подразделение;
                    Движение.Сумма = ТекСтрокаТовары.Сумма;
                    Движение.КоличествоДт = ТекСтрокаТовары.Количество;
                    Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Источник.Контрагент;
                    Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаТовары.Номенклатура;
                КонецЦикла;   
            КонецЕсли;
        КонецЕсли;
    КонецПроцедуры
    
    должно быть примерно так?
  13. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26

    не работает, эффект тот же
    --- Объединение сообщений, 16 ноя 2018 ---
    ааа, здесь источник регистр, не правильно делаю, значит
    Последнее редактирование: 16 ноя 2018
  14. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    Результат:
    {ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1442)}: Ошибка при вызове метода контекста (Записать)
    Возврат Форма.Записать(ПараметрыЗаписи);
    по причине:
    Ошибка при выполнении обработчика - 'ОбработкаПроведения'
    по причине:
    {ОбщийМодуль.ПроведениеСерверУТ.Модуль(398)}: Ошибка при вызове метода контекста (Записать)
    Объект.Движения.Записать();
    по причине:
    Ошибка при выполнении обработчика - 'ПриЗаписи'

    Код:
    Код:
    Процедура ДопПроводкиПоРегиструХозрасчетныйПриЗаписи(Источник, Отказ, РежимЗаписи) Экспорт
        // регистр Хозрасчетный
        Передача = Источник.Отбор.Регистратор.Значение;
        Если ТипЗнч(Передача) = Тип("ДокументСсылка.ПередачаСырьяПереработчику") Тогда
            Если Передача.Давальческое = Истина Тогда       
                Наборы = Передача.Движения;
                ДвижПередача = Наборы.Хозрасчетный;
                ДвижПередача.Записывать = ИСТИНА;       
                Для Каждого ТекСтрокаТовары Из Передача.Товары Цикл
                    Движение = ДвижПередача.Добавить();
                    Движение.СчетДт = ПланыСчетов.Хозрасчетный.МатериалыПринятыеВПереработку;
                    Движение.Период = Передача.Дата;
                    Движение.Организация = Передача.Организация;
                    Движение.ПодразделениеДт = Источник.Подразделение;
                    Движение.Сумма = ТекСтрокаТовары.Сумма;
                    Движение.КоличествоДт = ТекСтрокаТовары.Количество;
                    Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Передача.Контрагент;
                    Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаТовары.Номенклатура;
                КонецЦикла;   
            КонецЕсли;
        КонецЕсли;
    КонецПроцедуры
    
  15. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    Сделал так и все равно мои проводки удаляются и остаются только типовые

    Код:
    Процедура ДопПроводкиПоРегиструХозрасчетныйПриЗаписи(Источник, Отказ, РежимЗаписи) Экспорт
        // регистр Хозрасчетный
        Передача = Источник.Отбор.Регистратор.Значение;
        Если ТипЗнч(Передача) = Тип("ДокументСсылка.ПередачаСырьяПереработчику") Тогда
            Если Передача.Давальческое = Истина Тогда       
                //Наборы = Передача.Движения;
                //ДвижПередача = Наборы.Хозрасчетный;
                //ДвижПередача.Записывать = ИСТИНА;
                Источник.Записывать = ИСТИНА;
                Для Каждого ТекСтрокаТовары Из Передача.Товары Цикл
                    //Движение = ДвижПередача.Добавить();
                    Движение = Источник.Добавить();
                    Движение.СчетДт = ПланыСчетов.Хозрасчетный.МатериалыПринятыеВПереработку;
                    Движение.Период = Передача.Дата;
                    Движение.Организация = Передача.Организация;
                    Движение.ПодразделениеДт = Передача.Подразделение;
                    Движение.Сумма = ТекСтрокаТовары.Сумма;
                    Движение.КоличествоДт = ТекСтрокаТовары.Количество;
                    Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Передача.Контрагент;
                    Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаТовары.Номенклатура;
                КонецЦикла;   
            КонецЕсли;
        КонецЕсли;
    КонецПроцедуры
    
  16. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    Ребят, помогите, оч надо, не могу ни как решить эту задачу
  17. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.498
    Симпатии:
    983
    Баллы:
    204
    Т.е. вы не смогли самостоятельно дополнить записываемый набор записей своими записями?
  18. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    да, Вы правы, я не смог
  19. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.498
    Симпатии:
    983
    Баллы:
    204
    В чем именно сложность добавить запись к уже имеющимся в наборе?
  20. TopicStarter Overlay
    АртемБууууу
    Offline

    АртемБууууу Опытный в 1С

    Регистрация:
    30 авг 2017
    Сообщения:
    169
    Симпатии:
    0
    Баллы:
    26
    я не смог найти где вообще это происходит, запись и как туда добавить свои записи