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