Имя: Пароль:
1C
1С v8
Добавить проводку при проведении документа
0 helloman
 
28.07.22
14:51
Задача: При проведении документа добавить свою проводку

Проба пера: В обработке проведения

                                Движения.Хозрасчетный.Записывать = Истина;
                НоваяЗапись = Движения.Хозрасчетный.Добавить();
                
                НоваяЗапись.Период = Дата;
                
                НоваяЗапись.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыПоАвансамПолученным;  
                НоваяЗапись.СубконтоДт[НоваяЗапись.СчетДт.ВидыСубконто[0]] = Партнер;
                
                НоваяЗапись.СчетКт = ПланыСчетов.Хозрасчетный.ПрочиеРасчетыСРазнымиДебиторамиИКредиторами;
                НоваяЗапись.СубконтоКт[НоваяЗапись.СчетКт.ВидыСубконто[0]] = Партнер;
                
                НоваяЗапись.Сумма = СуммаДокумента;

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


Проблема: Запись производится. В проводках только моя проводка, типовые отсутствуют
1 RomanYS
 
28.07.22
14:58
(0) вероятно проводки уже были записаны явно при проведении. Решение: добавлять проводку ДО момента этой записи или перечитывать набор перед добавлением проводки
2 kostyan29
 
28.07.22
14:59
(0) Как вариант, самое элементарное - удалили код, который делал движения по "типовым" проводкам. Вышеприведенный код - это все, что написано в обработке проведения? Или это в расширение вынесено с типом "вызывать после/перед"?
3 helloman
 
28.07.22
15:01
(1) Пробовал перечитывать Движения они пустые. Вставлял до и после проведения
4 helloman
 
28.07.22
15:01
(2) Второе, в расширении
5 helloman
 
28.07.22
15:03
(2) Если свой код убираю, типовые проводятся
6 Фрэнки
 
28.07.22
15:03
(4) процедура, которая в расширение попала - отладчиком по этим процедурам проходил? Или у тебя не настроено его использование?

Наверное, Вместо забила код типовой
7 Фрэнки
 
28.07.22
15:04
что там в модуле этом, кроме строк в топике много еще разного текста? Если его немного, то скопируй целиком сюда, а не маленький фрагмент в котором ошибки не увидишь
8 helloman
 
28.07.22
15:06
(6) Никакого вместо нет, перед/после
9 Гипервизор
 
28.07.22
15:06
Записать(<Замещать>)
Значение по умолчанию: Истина
10 kostyan29
 
28.07.22
15:10
(9) вроде как нет там параметров вообще, при записи движений
11 helloman
 
28.07.22
15:12
Если поставить ручные проводки, то в Движениях появляется таблица движений, иначе она просто пустая
12 helloman
 
28.07.22
15:14
(11) Далее я добавляю в пустую свое движение и остается только мое движение соответственно в проводках
13 RomanYS
 
28.07.22
15:14
(0) Конфигурация какая?
14 helloman
 
28.07.22
15:15
(11) Также если установлено ручная проводка, запись добавляет корректно
15 helloman
 
28.07.22
15:15
(13) КА 2
16 Фрэнки
 
28.07.22
15:33
ну так с этого и надо было начинать

в КА бух проводки не создаются в обработке проведения
17 helloman
 
28.07.22
15:35
(16) Пропустил, невнимательный )
А где они создаются?
18 Фрэнки
 
28.07.22
15:39
если в асболютно типовым - в фоновом задании, которое регламентированным запускается с самым разным временем после того как документ проведен.

Но если проводки документа скорректировать вручную, то этот механизм типовой автовыключается. И тогда проводки сидят на месте и ты их имеешь в своей процедуре и можешь к ним чего-то Добавить, а не тыкаться в пустой набор, который при перепроведении документа очищается
19 helloman
 
28.07.22
15:49
(18) Сначала нужно типовые добавить, он нужны. Потом только ручные включить как-то
20 Фрэнки
 
28.07.22
15:58
(19) Там есть типовой код, в котором собирается результирующий набор записей проводок. После этой процедуры можно прописать добавление своих.
21 helloman
 
28.07.22
16:01
(20) Его как раз разыскиваю )
22 Михаил Козлов
 
28.07.22
16:06
(21) Если не ошибаюсь, в менеджере документа.
23 Фрэнки
 
28.07.22
16:11
(22) почти :-)

Вот например, в Акте выполненных работ такой фрагмент

#Область ПроведениеПоРеглУчету

//++ НЕ УТ

// Функция возвращает текст запроса для отражения документа в регламентированном учете.
//
// Возвращаемое значение:
//    Строка - текст запроса
//
Функция ТекстОтраженияВРеглУчете() Экспорт

    Возврат АктВыполненныхРаботЛокализация.ТекстОтраженияВРеглУчете();

КонецФункции

// Функция возвращает текст запроса дополнительных временных таблиц,
// необходимых для отражения в регламентированном учете.
//
// Возвращаемое значение:
//    Строка - текст запроса для отражения в регл. учете.
//
Функция ТекстЗапросаВТОтраженияВРеглУчете() Экспорт

    Возврат АктВыполненныхРаботЛокализация.ТекстЗапросаВТОтраженияВРеглУчете();

КонецФункции

//-- НЕ УТ

#КонецОбласти
24 helloman
 
28.07.22
16:30
(23) Это только код запроса, там все чуток сложнее видится пока. Есть модуль "ПроведениеДокументов", копа его, из него похоже работает