|
Правка движений в расширении. Мистика, которую вы знаете (да?) | ☑ | ||
---|---|---|---|---|
0
Coneho
21.08.20
✎
11:47
|
Спасители!
Просветите новичка борьбы с типовой не снятой с поддержки! Хочу добавить к бух.движениям дока забалансовые проводки - (для начального теста - пытаюсь скинуть к 1 рублю суммы штатных проводок). Сделал расширение к не снятой с поддержки свежайшей БП 3 (на последней 17-й платформе при том). В этом расширении добавил подписку на ОбработкаПроведения дока (с 17-й возможны подписки в расширениях). В этой подписке вот что творю (тест): Проводки = Источник.Движения.Хозрасчетный; ТЗ = Проводки.Выгрузить(); Для каждого Стр Из ТЗ Цикл Стр.Сумма = 1; // для простого теста КонецЦикла; Проводки.Загрузить(ТЗ); Ну и болт(( При этом, если в доке поставить галку "РучнаяКорректировка", то все ОК - подписка движения правит. Та же беда, если в расширении пытаться в модулях дока и формы соответственно править движения в ОбработкаПроведения (после) и ПослеЗаписиНаСервере (после). Понимаю, что подписка в расширении только с этой 17-й платформы работает, может, еще не допилили. Но уж в модуле дока-то... Наверняка истина где-то рядом, и вы ее знаете... ******** Просветите, поможите... Что не дает движения изменить? ******** PS Если обработкой движения править, то, разумеется, все нормально. На то она и обработка, но хочется самим доком. |
|||
1
Momus
21.08.20
✎
11:55
|
В модуле менеджера документа есть функция "ТекстОтраженияВРеглУчете"?
|
|||
2
Жан Пердежон
21.08.20
✎
11:56
|
проверь "Записывать" у набор записей
|
|||
3
Fragster
гуру
21.08.20
✎
11:57
|
может быть потому что на момент вызова движения уже записаны?
|
|||
4
Fragster
гуру
21.08.20
✎
11:57
|
попробуй сделать Проводки.Записывать = Истина
|
|||
5
Жан Пердежон
21.08.20
✎
12:00
|
и никакой мистики - без расширения было бы тоже самое
|
|||
6
ribuh
21.08.20
✎
12:02
|
Вот рабочая процедура - всё просто:
&После("ОбработкаПроведения") Процедура еаю_ОбработкаПроведения(Отказ, РежимПроведения) //Пересортица товаров 00SV-000010 от 23.03.2020 12:46:14 Если Лев("" + Основание, 19) = "Пересортица товаров" Тогда //Будем обрабатывать, исходим из того, что дата и номер документов списания и оприходования совпадают ТоварыОТ = ОбработатьОприходование(); Если ТоварыОТ.Количество() = 0 Тогда //Не найдено оприходование, пропускаем документ, ибо неизвестен товар(ы) для оприходования Возврат КонецЕсли; Проводки = Движения.Хозрасчетный; нпп = 0; Для Каждого Проводка Из Проводки Цикл НомерСтрокиТовараСТ = Товары.НайтиСтроки(Новый Структура("Номенклатура", Проводка.СубконтоКт.Номенклатура))[0].НомерСтроки; ТоварОТ = ТоварыОТ[НомерСтрокиТовараСТ - 1].Номенклатура; Проводка.СчетДт = Проводка.СчетКт; Проводка.КоличествоДт = Проводка.КоличествоКт; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "Номенклатура", ТоварОТ); Если ЗначениеЗаполнено(Проводка.СубконтоКт.Склады) Тогда БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "Склады", Склад); КонецЕсли; Если ЗначениеЗаполнено(Проводка.СубконтоКт.Партии) Тогда БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "Партии", Проводка.СубконтоКт.Партия); КонецЕсли; нпп = нпп + 1; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
7
Coneho
21.08.20
✎
12:04
|
(5) Жан, благодарю! О, благодарю!
Я - тормоз((( |
|||
8
Coneho
21.08.20
✎
12:04
|
Други, спасибо!
Я записывать не ставил... |
|||
9
vde69
21.08.20
✎
12:24
|
ну вроде как-бы расширение должно работать с тем-же режимом совместимости, что и основа ?
БП-3 имеет более низкий режим совместимости, значит подписка и не будет работать... |
|||
10
Coneho
21.08.20
✎
12:46
|
(9) Не, все заработало. Я "записывать" прошляпил.
Подписка - классная вещь. По расширениям есть пока еще опаска, что данные улетят. Но как иначе поступить, не снимая конфу с поддержки... |
|||
11
vde69
21.08.20
✎
12:51
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |