Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Правка движений в расширении. Мистика, которую вы знаете (да?)

Правка движений в расширении. Мистика, которую вы знаете (да?)
Я
   Coneho
 
21.08.20 - 11:47
Спасители!

Просветите новичка борьбы с типовой не снятой с поддержки!


Хочу добавить к бух.движениям дока забалансовые проводки -
(для начального теста - пытаюсь скинуть к 1 рублю суммы штатных проводок).

Сделал расширение к не снятой с поддержки свежайшей БП 3 (на последней 17-й платформе при том).
В этом расширении добавил подписку на ОбработкаПроведения дока (с 17-й возможны подписки в расширениях).
В этой подписке вот что творю (тест):

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

Ну и болт((
При этом, если в доке поставить галку "РучнаяКорректировка", то все ОК - подписка движения правит.

Та же беда, если в расширении пытаться в модулях дока и формы соответственно править движения в ОбработкаПроведения (после) и ПослеЗаписиНаСервере (после).

Понимаю, что подписка в расширении только с этой 17-й платформы работает, может, еще не допилили. Но уж в модуле дока-то...

Наверняка истина где-то рядом, и вы ее знаете...


********
Просветите, поможите...
Что не дает движения изменить?
********


PS Если обработкой движения править, то, разумеется, все нормально. На  то она и обработка, но хочется самим доком.
   Momus
 
1 - 21.08.20 - 11:55
В модуле менеджера документа есть функция "ТекстОтраженияВРеглУчете"?
   Жан Пердежон
 
2 - 21.08.20 - 11:56
проверь "Записывать" у набор записей
   Fragster
 
3 - 21.08.20 - 11:57
может быть потому что на момент вызова движения уже записаны?
   Fragster
 
4 - 21.08.20 - 11:57
попробуй сделать Проводки.Записывать = Истина
   Жан Пердежон
 
5 - 21.08.20 - 12:00
и никакой мистики - без расширения было бы тоже самое
   ribuh
 
6 - 21.08.20 - 12:02
Вот рабочая процедура - всё просто:

&После("ОбработкаПроведения")
Процедура еаю_ОбработкаПроведения(Отказ, РежимПроведения)
    //Пересортица товаров 00SV-000010 от 23.03.2020 12:46:14

    Если Лев("" + Основание, 19) = "Пересортица товаров" Тогда//Будем обрабатывать, исходим из того, что дата и номер документов списания и оприходования совпадают

        ТоварыОТ = ОбработатьОприходование();
        Если ТоварыОТ.Количество() = 0 Тогда//Не найдено оприходование, пропускаем документ, ибо неизвестен товар(ы) для оприходования

            Возврат 
        КонецЕсли;
        Проводки = Движения.Хозрасчетный;
        нпп = 0;
        Для Каждого Проводка Из Проводки Цикл
            НомерСтрокиТовараСТ = Товары.НайтиСтроки(Новый Структура("Номенклатура", Проводка.СубконтоКт.Номенклатура))[0].НомерСтроки;
            ТоварОТ = ТоварыОТ[НомерСтрокиТовараСТ - 1].Номенклатура;
            Проводка.СчетДт = Проводка.СчетКт;
            Проводка.КоличествоДт = Проводка.КоличествоКт;
            БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "Номенклатура", ТоварОТ);
            Если ЗначениеЗаполнено(Проводка.СубконтоКт.Склады) Тогда
                БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "Склады", Склад);
            КонецЕсли;
            Если ЗначениеЗаполнено(Проводка.СубконтоКт.Партии) Тогда
                БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "Партии", Проводка.СубконтоКт.Партия);
            КонецЕсли;
            нпп = нпп + 1;
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры
   Coneho
 
7 - 21.08.20 - 12:04
(5) Жан, благодарю! О, благодарю!
Я - тормоз(((
   Coneho
 
8 - 21.08.20 - 12:04
Други, спасибо!
Я записывать не ставил...
   vde69
 
9 - 21.08.20 - 12:24
ну вроде как-бы расширение должно работать с тем-же режимом совместимости, что и основа ?

БП-3 имеет более низкий режим совместимости, значит подписка и не будет работать...
   Coneho
 
10 - 21.08.20 - 12:46
(9) Не, все заработало. Я "записывать" прошляпил.
Подписка - классная вещь.
По расширениям есть пока еще опаска, что данные улетят. Но как иначе поступить, не снимая конфу с поддержки...
   vde69
 
11 - 21.08.20 - 12:51

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