Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

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

1с83 КА 2.4 Дополнительная проводка к типовому документу
Я
   buketovav
 
18.11.18 - 19:49
Добрый день!
очень нужна помощь

Создал подписку на событие
Источник - РегистрБухгалтерииНаборЗаписей.Хозрасчетный 
Событие - ПриЗаписи 
Обработчик - ДобавленныйМодульДляДокументов.ДопПроводкиПоРегиструХозрасчетныйПриЗаписи 

Код обработчика:

// регистр Хозрасчетный

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

        КонецЕсли;
    КонецЕсли;

проходит все без ошибок, но ми проводки не добавляются, отображаются только типовые проводки а мне нужно, чтобы отображались и типовые и мои добавленные.

отладчиком прошел по коду, движения все заполняются, но что-то где-то не так, очень прошу помощи, завтра дедлайн
 
 
   palsergeich
 
1 - 18.11.18 - 20:07
Во первых - при записи - набор уже записан в БД. И добавление к нему бесполезно.
Попробуйте передЗаписью
   buketovav
 
2 - 18.11.18 - 20:30
Спасибо огромное, получилось!
   buketovav
 
3 - 19.11.18 - 15:35
а такой вопрос: а каким образом могу удалить проводки. например, по 10 счету?
   palsergeich
 
4 - 19.11.18 - 15:36
(3) Из этого же набора записей?
   buketovav
 
5 - 19.11.18 - 15:40
этот же документ формирует типовые проводки при отражении в регламентированном учете, так вот мне надо удалить все проводки, которые связаны с 10 счетом
   shuhard
 
6 - 19.11.18 - 15:41
(5) перед записью в модуле Рг бухгалтерии с отбором по типу регистратора и корреспонденции счетов
   palsergeich
 
7 - 19.11.18 - 15:42
(5) Если Вы работаете в (0) этом наборе записей, то самым читаемым способом будет:
- Выгрузить проводки из набора записей в таблицу значений
- Удалить необходимые проводки
- Загрузить таблицу значений в набор записей
   palsergeich
 
8 - 19.11.18 - 15:44
Естесственно с этими уточнениями (6)
   buketovav
 
9 - 19.11.18 - 15:45
сейчас выполняется такой обработчик для добавления проводок к типовым, выполняется перед записью:

Процедура ДопПроводкиПоРегиструХозрасчетныйПриЗаписи(Источник, Отказ, РежимЗаписи) Экспорт
    // регистр Хозрасчетный  приход Переработчику  - документ ПередачаСырьяПереработчику

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

                НоваяПроводка.КоличествоДт = ТекСтрокаТовары.Количество;
                НоваяПроводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Передача.Контрагент;
                НоваяПроводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаТовары.Номенклатура;    
            КонецЦикла;
            
            // регистр Хозрасчетный расход у Нас

            Для Каждого ТекСтрокаТовары Из Передача.Товары Цикл
                НоваяПроводка = Источник.Добавить();
                НоваяПроводка.СчетКт = ПланыСчетов.Хозрасчетный.МатериалыПринятыеВПереработку;
                НоваяПроводка.Период = Передача.Дата;
                НоваяПроводка.Организация = Передача.Организация;
                НоваяПроводка.ПодразделениеКт = Передача.Подразделение;
                //НоваяПроводка.Сумма = ТекСтрокаТовары.Сумма;

                НоваяПроводка.КоличествоКт = ТекСтрокаТовары.Количество;
                НоваяПроводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Передача.Организация;
                НоваяПроводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаТовары.Номенклатура;
            КонецЦикла;
            
            Источник.Прочитать();
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
   buketovav
 
10 - 19.11.18 - 15:47
но у меня в наборе записей присутствуют только мои добавленные проводки? или мне надо выполнить команду Источник.Прочитать(); ?
 
 Рекламное место пустует
   Фрэнки
 
11 - 19.11.18 - 15:48
А какого типа параметр Источник в коде?
   Фрэнки
 
12 - 19.11.18 - 15:51
а я все думаю, что за головняк у ТС...

А он прицепил подписку на событие к набору записей регистра, вместо того, чтоб повесить все на событие ПередЗаписью документа!
   buketovav
 
13 - 19.11.18 - 15:51
Тип - РегистрБухгалтерииНаборЗаписей.Хозрасчетный
   buketovav
 
14 - 19.11.18 - 15:53
не вариант, так как мои проводки формируются при отражении документа в рег учете. и если все делать в обработке проведения, то все мои проводки удаляются и отображаются только типовые, а мне надо чтобы отображались мои проводки, типовые и удалить все проводки, которые связаны с 10 счетом
   buketovav
 
15 - 19.11.18 - 15:53
все работает, осталось только удалить проводки связанные с 10 счетом
   Фрэнки
 
16 - 19.11.18 - 15:55
(15) тогда, во избежании путаницы и придания большего порядка смотри совет в (7)

Работай в набором через Выгрузить в таб значений, обработай все в таблице, а на выходе загрузить в набор
   Фрэнки
 
17 - 19.11.18 - 15:56
и обработку строк в таблице значений легче будет расписать
   buketovav
 
18 - 19.11.18 - 15:57
понял. пошел пробовать
   buketovav
 
19 - 19.11.18 - 16:04
но есть проблема одна, я отладчиком смотрю на Источник и в нем только две проводки и те мои, я не вижу там типовых проводок. Может бытья не правильно смотрю или не там? смотрю "ПриЗаписи"
   Джинн
 
20 - 19.11.18 - 16:07
(6) Сразу видно опытного индейца :)
   buketovav
 
21 - 19.11.18 - 16:21
в источнике ПередЗаписью не вижу типовых проводок. только мои
   buketovav
 
22 - 19.11.18 - 17:09
давайте продолжим предполагать, как правильно поступить и сделать?
   dinn
 
23 - 19.11.18 - 17:24
Расширение наверное будет интереснее использовать
   buketovav
 
24 - 19.11.18 - 20:12
почему Вы так считаете?
   buketovav
 
25 - 19.11.18 - 20:12
чем это изменить ситуацию?
   Фрэнки
 
26 - 19.11.18 - 20:17
По идее, перехват процедуры Расширением даст вход внутри транзакции, а не снаружи.
   buketovav
 
27 - 19.11.18 - 20:27
с самого начала я как раз делал расширением, не получилось. неужели нет другого способа отсечь ненужные проводки?
   palsergeich
 
28 - 19.11.18 - 20:55
(27) А что не получилось то?
   hhhh
 
29 - 19.11.18 - 21:22
(27) перед записью там вызывается 2 раза. первый раз при очистке движений, поэтому там пусто, 2й раз уже когда добавляются проводки. поэтому у тебя нетривиальная задача - первое перед записью пропускаешь, во второе вклиниваешься.
   buketovav
 
30 - 19.11.18 - 22:21
тогда что мне добавлять в расширение? документ? и в его модуле писать обработчик проведения с моими проводками? или сам РБ и в его модуль набора записей добавлять свои проводки при записи?
   buketovav
 
31 - 20.11.18 - 07:54
(29) а где и как понять когда вызывается первый раз и когда второй? и где это происходит?
   buketovav
 
32 - 20.11.18 - 08:27
(29) как мне понять и выяснить когда и где происходит второй вызов "ПередЗаписью"? Чтобы я мог прочитать набор записей и удалить из него ненужные мне проводки.
   buketovav
 
33 - 20.11.18 - 10:07
ребят, ну подскажите, пожалуйста
 
 
   buketovav
 
34 - 20.11.18 - 11:59
нашел полный набор записей в обработке ОтражениеДокументовВРеглУчете, 

Код:
&НаСервере
Процедура ЗаполнитьПредставлениеВидовСубконто()

    Для каждого Запись Из НаборЗаписей Цикл
        ЗаполнитьЗначенияСвойств(Запись, ПредставлениеВидовСубконто(Запись.СчетДт, "Дт"));
        ЗаполнитьЗначенияСвойств(Запись, ПредставлениеВидовСубконто(Запись.СчетКт, "Кт"));
    КонецЦикла;

КонецПроцедуры


теперь его надо почистить от записей, которые мне не нужны в этом документе
   buketovav
 
35 - 20.11.18 - 14:13
не получается в этом месте ни чего сделать... что-то делаю не так. кто подскажет, как правильно удалить типовые проводки по определенному номеру счета и регистратору?
   buketovav
 
36 - 20.11.18 - 14:20
помооооогитеееееееееееее, ни ка кне могу разобраться. как удалить несколько типовых проводок из набора записей, да и вообще где это делается
   Джинн
 
37 - 20.11.18 - 14:23
(36) (6) читали?
   buketovav
 
38 - 20.11.18 - 14:40
(37) ну конечно же, вот только у меня наборе в ПередЗаписью нет типовых проводок
   buketovav
 
39 - 20.11.18 - 14:50
то есть в самом РБ, в модуле набора записей ПередЗаписью? вижу только мои проводки
   buketovav
 
40 - 20.11.18 - 16:02
будет ли так правильно сделать в расширении:

&После("ПередЗаписью")
Процедура Расш1_ПередЗаписью(Отказ, РежимЗаписи)
    //здесь будет обработчик

КонецПроцедуры
   Cyberhawk
 
41 - 20.11.18 - 16:04
Проводки по РБ формируются пади отложенно
   Вафель
 
42 - 20.11.18 - 16:04
(41) по другому и не может быть
   buketovav
 
43 - 20.11.18 - 16:10
(41) (42) какие варианты решения могут быть? я уже всю голову сломал. подскажите
   Cyberhawk
 
44 - 20.11.18 - 16:35
(43) Ну ловить в подписке ПередЗаписью РБ конечно же
   buketovav
 
45 - 20.11.18 - 16:46
не ловится чет, вижу только свои добавленные проводки, типовые не вижу. Как можно поймать все и сразу?
   Cyberhawk
 
46 - 20.11.18 - 16:47
В доп. свойствах НЗ поищи
   buketovav
 
47 - 20.11.18 - 16:55
(46) там только структура, записей нет
   Cyberhawk
 
48 - 20.11.18 - 17:08
Мне лениво смотреть, где именно это делается (конфа отдельно и далеко, открывать и искать в ней долго), но ничего сложного там точно нет
   buketovav
 
49 - 20.11.18 - 18:41
ну не ленитесь, пожалуйста, оч надо научиться этому
 
 Рекламное место пустует
   Cyberhawk
 
50 - 20.11.18 - 18:42
Научиться можно только самостоятельно
   buketovav
 
51 - 20.11.18 - 19:21
вот и учусь самостоятельно
   buketovav
 
52 - 20.11.18 - 19:21
все равно прошу помощи, может кто-нибудь подскажет?
   buketovav
 
53 - 21.11.18 - 09:25
ладно, а такой вопрос, есть в документе "передачаСырьяПереработчкиу" в модуле менеджера Функция ТекстОтраженияВРеглУчете()

так вот, а можно ли как-нибудь из модуля менеджера объекта обратиться к реквизиту объекта, посмотреть, если он Истина, тогда не добавлять в массив определенные тексты отражения:

ТекстыОтражения = Новый Массив;
    ТекстыОтражения.Добавить(ПередачаКомиссионныхТоваровСписание);
    ТекстыОтражения.Добавить(ПередачаТоваров);
    ТекстыОтражения.Добавить(ПередачаТоваровСоСкладаПроизводства);
    ТекстыОтражения.Добавить(СписаниеМатериаловДавальца);
    ТекстыОтражения.Добавить(РасходыНаПроизводствоИзМатериаловДавальца);
    ТекстыОтражения.Добавить(СписаниеПродукцииДавальца);
    ТекстыОтражения.Добавить(РасходыНаПроизводствоИзПродукцииДавальца);
    ТекстыОтражения.Добавить(ЗалоговаяСтоимостьПереданнойТары);
    ТекстыОтражения.Добавить(ЗалоговаяСтоимостьПереданнойТарыСкладПроизводства);
    ТекстыОтражения.Добавить(ТекстВключениеИсключениеНДСВСтоимость);
   buketovav
 
54 - 21.11.18 - 14:30
такая ситуация, мне надо было добавить проводки для типового документа. чтобы они были по забалансу, я сделал подписку на событие для РБ ПереЗаписью, все хорошо, проводки добавились
но теперь другая ситуация, как мне у этого документа удалить типовую проводку по определенному счету

проводки формируются при отражении в регламентированном учете
у РБ ПередЗаписью вызывается два раза и формирование проводок происходит как раз во второй раз, я ни как не могу понять и найти. где и как поймать мне это второй раз, где в котором я смогу увидеть весь набор записей РБ
   buketovav
 
55 - 21.11.18 - 21:02
эх... Люди Добрые, скажите как убрать из движений типового документа типовые проводки по 10 счету
   Cyberhawk
 
56 - 21.11.18 - 22:05
Тебе дали удочку, а ты продолжаешь просить рыбу
   buketovav
 
57 - 22.11.18 - 07:26
решил


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует