Имя: Пароль:
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) Это только код запроса, там все чуток сложнее видится пока. Есть модуль "ПроведениеДокументов", копа его, из него похоже работает
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн