Доброго времени суток.
Возникла сложность одна по регистру бухгалтерии в УПП 1.3.
При проведении документа нужно сторнировать определенные товары.
Тоесть есть документ Отчет комиссионера о продажах, в таблице некий реквизит добавлен "Возврат"
Так вот нужно отобрать записи регистра бухгалтерии субконтоКТ с Ключем "Номенклатура" и Значением "НекаяНоменклатура"
Номенклатуру буду в переборе табличной части вычислять.
Возникла сложность одна по регистру бухгалтерии в УПП 1.3.
При проведении документа нужно сторнировать определенные товары.
Тоесть есть документ Отчет комиссионера о продажах, в таблице некий реквизит добавлен "Возврат"
Так вот нужно отобрать записи регистра бухгалтерии субконтоКТ с Ключем "Номенклатура" и Значением "НекаяНоменклатура"
Номенклатуру буду в переборе табличной части вычислять.
По теме из базы знаний
- Регистры бухгалтерии. Настройки, субконто и движения с субконто
- Доработка проведения в ERP 2.5 (регистр бухгалтерии Хозрасчетный)
- Исправление регистра бухгалтерии
- Оптимизация Бухгалтерии. Восстановление быстродействия регистра бухгалтерии удалением межотчетного периода
- Исправление аналитики регистра бухгалтерии Хозрасчетный
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
ВЫБРАТЬ
ХозрасчетныйДвиженияССубконто.СчетКт КАК СчетКт,
ХозрасчетныйДвиженияССубконто.СубконтоКт1 КАК СубконтоКт1,
ХозрасчетныйДвиженияССубконто.Сумма КАК Сумма,
ХозрасчетныйДвиженияССубконто.КоличествоКт КАК КоличествоКт
ИЗ
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
,
,
ВидСубконтоКт1 = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура)
И СубконтоКт1 = &Номенклатура,
,
) КАК ХозрасчетныйДвиженияССубконто
Показать
(3)
Я делаю так:
Сначала Выделяю все возвратные товары:
Далее выполняю перебор регистра, если в Записи Субконто содержит ссылку на Справочник номенклатура То перебераю возвратную номенклатуру что бы выяснить не является ли она возвратом, если возврат то я умножаю на -1 что бы сторнировать.
Но оптимизация нулевая, так как сначала общий модуль срабатывает а потом уже подписка на события, в итоге долго проводиться документ.
Может подскажите как оптимизировать этот алгоритм, а то никак не соображу
Я делаю так:
Сначала Выделяю все возвратные товары:
Отбор = Новый Структура;
Отбор.Вставить("Возврат", Истина);
ВозвратныеТовары = Источник.Товары.Выгрузить(Отбор);
Далее выполняю перебор регистра, если в Записи Субконто содержит ссылку на Справочник номенклатура То перебераю возвратную номенклатуру что бы выяснить не является ли она возвратом, если возврат то я умножаю на -1 что бы сторнировать.
Для Каждого Запись ИЗ Источник.Движения.Хозрасчетный Цикл
Если ТипЗнч(Запись.СубконтоКт.Номенклатура) = Тип("СправочникСсылка.Номенклатура") Тогда
Для Каждого Товар ИЗ ВозвратныеТовары Цикл
Если Запись.СубконтоКт.Номенклатура = Товар.Номенклатура Тогда
Запись.Сумма = Запись.Сумма * -1;
Запись.КоличествоКт = Запись.КоличествоКт * -1;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Если Метаданное.Движения.Содержит(Метаданные.РегистрыБухгалтерии.Хозрасчетный) Тогда
Источник.Движения.Хозрасчетный.Записать();
КонецЕсли;
ПоказатьНо оптимизация нулевая, так как сначала общий модуль срабатывает а потом уже подписка на события, в итоге долго проводиться документ.
Может подскажите как оптимизировать этот алгоритм, а то никак не соображу
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот