Вход | Регистрация
 
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
решил


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