Имя: Пароль:
1C
 
Учтет ли документ движение сторно перед тем как сделать остальные движения
,
0 shlyahtich
 
18.08.16
15:56
Создан документ КорректировкаПоступленияНаРасчетныйСчет
Его задача сторнировать указанное поступление и внести новые проводки
Выполняется В ОбработкеПроведения
примерно так выглядит схема:
Движения.Хозрасчетный.Записывать = Истина;
////////////сначала формируем сторно по исходному документу по регистру Хозрасчетный    
ТЗ = ДокументыОснованиеПоступлениеНаРасчетныйСчет.ПолучитьОбъект().Движения.Хозрасчетный.Выгрузить();
    Для Каждого Стр из ТЗ Цикл
        Стр.Период = Дата;
        Стр.ВалютнаяСуммаДт = - СтрОбщ.ВалютнаяСуммаДт;
        Стр.ВалютнаяСуммаКт = - СтрОбщ.ВалютнаяСуммаКт;
        Стр.Содержание = "Сторно: " + СтрОбщ.Содержание;
        Стр.Сумма = - СтрОбщ.Сумма;
        Стр.СуммаВРДт = - СтрОбщ.СуммаВРДт;
        Стр.СуммаВРКт = - СтрОбщ.СуммаВРКт;
        Стр.СуммаНУДт = - СтрОбщ.СуммаНУДт;
        Стр.СуммаНУКт = - СтрОбщ.СуммаНУКт;
        Стр.СуммаПРДт = - СтрОбщ.СуммаПРДт;
        Стр.СуммаПРКт = - СтрОбщ.СуммаПРКт;
    КонецЦикла;    
    Движения.Хозрасчетный.Загрузить(ТЗ);
///////////////КонецСторно
        //чтобы сделать новые проводки обращаемся к процедурам документа поступления на расчетный счет (ПРС)
        //…………………………………………………………………………………….
//Соответственно параметры проведения свои используем
        //Подставим  свои параметры проведения
        ПараметрыПроведения = Документы.ПоступлениеНаРасчетныйСчет.ПодготовитьПараметрыПроведения(ДокументыОснованиеПоступлениеНаРасчетныйСчет, Отказ);
//и так далее
//а потом используем стандартные процедуры из док ПРС, например
            // ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ИНФОРМАЦИОННОЙ БАЗЫ
            
            ТаблицаВзаиморасчетов = УчетВзаиморасчетов.ПодготовитьТаблицуВзаиморасчетовПогашениеЗадолженности(
            ПараметрыПроведения.РасшифровкаПлатежа, ПараметрыПроведения.Реквизиты, Отказ);
            
            СтруктураТаблицУСН = Документы.ПоступлениеНаРасчетныйСчет.ПодготовитьСтруктуруТаблицУСН(
                ПараметрыПроведения.Реквизиты, ТаблицаВзаиморасчетов, Отказ);
            
            ТаблицаВзаиморасчетыУСН  = СтруктураТаблицУСН.ТаблицаВзаиморасчетыУСН;
            ТаблицаПрочихРасчетовУСН = СтруктураТаблицУСН.ТаблицаПрочихРасчетовУСН;
            ТаблицаДляПереносаЗадолженностиПоСчетамУСН = СтруктураТаблицУСН.ТаблицаДляПереносаЗадолженностиПоСчетамУСН;
//и т.д.
            // ФОРМИРОВАНИЕ ДВИЖЕНИЙ
            
            УчетВзаиморасчетов.СформироватьДвиженияПоПрочимРасчетам(
            ЕдинаяТаблицаДляРегистраПрочихРасчетов, Движения, Отказ);
            
            УчетВзаиморасчетов.СформироватьДвиженияПогашениеЗадолженности(ТаблицаВзаиморасчетов,
            ПараметрыПроведения.Реквизиты, Движения, Отказ);
            
            Документы.ПоступлениеНаРасчетныйСчет.ВыполнитьДвиженияПереносаЗадолженностиПоСчетамУСН(
            ПараметрыПроведения.Реквизиты, ТаблицаДляПереносаЗадолженностиПоСчетамУСН, Движения, Отказ);
//и т.д.
Вопрос – Учтется ли внутри такой обработки проведения то что в ней уже сделано сторно? Или при использовании последующих процедур движения сторно проигнорируются.
//Пока вроде как получается что их не видно
1 Звездец
 
18.08.16
15:59
По идее должен. Что мешает проверить?
2 Джинн
 
18.08.16
16:01
(0) Гарантирую неимоверную попоболь после реализации этой идиотской задачи.
3 shlyahtich
 
18.08.16
16:01
(1)
я тоже думал по идее, а вроде как не видит
все выполняется внутри обработки проведения.
Движения сторно сделал по рег Хозрасчетный и записал
Однако когда делаю проводки со своими параметрами, то рез такой будто сторно не видит
А если делаю сторно отдельно то все нормально
4 shlyahtich
 
18.08.16
16:02
(2) Задача поставлена, именно сделать так
флудить бессмысленно. Чтоб все было в одном документе
Я вообще предлагал обработку... которая будет делать ручные операции и не трогать ничего
5 Джинн
 
18.08.16
16:06
(4) Сторно в данной ситуации - это русская рулетка. Причем в барабане не один патрон из семи, а шесть.

Надеюсь письменное подтверждение именно такой реализации задачи у Вас имеется?
6 shlyahtich
 
18.08.16
17:02
(5) есть в виде письма
7 Зая Бусечка
 
18.08.16
17:16
А записывать движения кто будет? САМ?
8 Cyberhawk
 
18.08.16
17:17
Опираться в алгоритме формирования проводок документа на проводки этого же документа - дурной тон. Присоединяюсь к (2).
9 Джинн
 
18.08.16
17:22
(6) Храните как зеницу ока. А лучше оформите его в виде ТЗ и подпишите.

(7) Все верно, в данном случае записывать принудительно нужно.

(8) В типовых такая хрень тоже встречается местами.
10 Зая Бусечка
 
18.08.16
17:28
(8) Вы расскажите про этот моветон разработчикам УПП, например.
11 shlyahtich
 
18.08.16
17:28
(9)
Записывал принудительно
не помогает
То есть когда используется набор записей, такое возможно и например для контроля отстатков это используется, а вот с коллекцией движений это не пройдет

возможно вот так получится - надо проверить

    НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();  
    НаборЗаписей.Отбор.Регистратор.Установить(Ссылка);
    НаборЗаписей.Очистить();
    НаборЗаписей.Записывать = Истина;
12 Cyberhawk
 
18.08.16
17:30
(9) (10) Ну имеется в виду РСВ, да?
13 hitodom
 
18.08.16
17:31
так ты же не записал движения, конечно они не учтуться
14 Зая Бусечка
 
18.08.16
17:31
(12) Ну да.

Вот только дважды повторяемая конструкция
ДокументыОснованиеПоступлениеНаРасчетныйСчет.ПолучитьОбъект().Движения.Хозрасчетный.Выгрузить()

тут всё портит
15 shlyahtich
 
18.08.16
17:52
В тексте это упустил.
Движения я пытался и записывать
результат тот же
16 shlyahtich
 
18.08.16
18:01
Я добавил реквизит Операция с типом операциябух и создаю этим документом ручную операцию со сторно проводками. В документа остается на нее ссылка. И все движения сторно видятся нормально
17 RomanYS
 
18.08.16
18:03
дочитал только до
ТЗ = ДокументыОснованиеПоступлениеНаРасчетныйСчет.ПолучитьОбъект().Движения.Хозрасчетный.Выгрузить();

дальше не смог(
18 mehfk
 
18.08.16
18:05
О чем думает ТС когда постит на Мисту следующее:
>> ТЗ = ДокументыОснованиеПоступлениеНаРасчетныйСчет.ПолучитьОбъект().Движения.Хозрасчетный.Выгрузить();
19 mehfk
 
18.08.16
18:08
(8)
>> Опираться в алгоритме формирования проводок документа на проводки этого же документа - дурной тон.
Ты неправ.