Можно ли имея текущие данные строки табличной части документа (тип ДанныеФормыЭлементКоллекции) получить ссылку на документ, или тип документа?
(1С:ERP Управление предприятием 2 (2.2.4.154))
---
нет, но наверняка, исходная задача решается по-другому
---
нет, но наверняка, исходная задача решается по-другому
---
Так и думал, все перепробовал. Да исходную задачу можно решить по другому, просто хотел доработать код для одного типа документа при минимальных изменениях.
---
Уточните задачу. Если у вас в этой коллекции есть поле ссылочного типа, то не вижу препятствий, а если нет, то непонятно чего вы хотите.
---
ссылку на документ, на форме которого находится ДанныеФормыЭлементКоллекции
---
Эм... А просто Объект.Ссылка не устраивает?
---
Ссылку на документ нужно получить в общем модуле, имея только ДанныеФормыЭлементКоллекции.
---
можете привести кусок кода где передаются ДанныеФормыЭлементКоллекции в общий модуль ?
---
```1c
    Процедура ТоварыКоличествоУпаковокПриИзменении(Элемент)

    ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;

    СтруктураДействий = Новый Структура;
    ДобавитьВСтруктуруДействияПриИзмененииКоличестваУпаковок(СтруктураДействий, Объект);

    ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
    ПродажиКлиентСервер.РассчитатьИтоговыеПоказателиРеализации(ЭтаФорма);
    РассчитатьСуммуПредоплаты(ЭтаФорма);
    СкидкиНаценкиКлиент.СброситьФлагСкидкиРассчитаны(ЭтаФорма);

    КонецПроцедуры
```
---
собственно в "ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ" происходит действие ? Там нет отдельного модуля по учету ндс ?)
А вот вторым параметром идёт СтруктураДействий , в неё что-то от Объекта добавляется судя по всему, посмотрите может из неё ссылку можно получить
---
Нет, там нет ссылки на документ.
Но зато другое нашёл.
При формировании СтруктурыДействий всегда вызывается:
ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(Объект)
Как видите, туда передаётся Объект, могу в данной процедуре в структуру действий засунуть типЗнч(Объект.Ссылка).
---
а где у вас эти данные строки ? Куда вы их передаете, в соседнюю процедуру на клиенте ?
---
Ссылку на документ нужно получить в общем модуле, имея только ДанныеФормыЭлементКоллекции.
---
В Документе Реализация Товаров и Услуг расчёт Суммы НДС по ставке 18/118 работает так-же как и по 18. Поставили задачу настроить расчёт по ставке 18/118. Расчет СуммыНДС и остальных связанных строк ТЧ производится в общем модуле (и не в одном).
В общий модуль передаётся только Текущиеданные строки документа.
Процедуру расчёта используют и другие документы. Настраивать расчёт для других документов не нужно и времени нет (структуры документов отличаются).
Хотел доработать код только для документа РТиУ.
---
для чего используется 18/118 в ртиу ?
---
Расчёт СуммыНДС, когда НДС включен в цену.
---
не знаю алгоритма в ERP
ну например в торг 10 считает так

```1c
    Если (УчитыватьНДС) И (СуммаВключаетНДС) Тогда
    СуммаБезНДС = 100 * Сумма / (100 + СтавкаНДС)
    СуммаНДС = Сумма - СуммаБезНДС;
```
---
ERP примерно так же считает
---
так это правильный расчет

```1c
    Сумма= 100 * Сумма / (100 + СтавкаНДС) + СтавкаНДС* Сумма / (100 + СтавкаНДС)
```
---
ERP так считает только когда у документа допреквизит Цена включает НДС = Истина, при том для всего документа. В обратном случае, он для всех строк считает по ставке 18%, да-же если установлена ставка 18/118.
---
Мне это, нужно сделать только для РТиУ, но в данный общий модуль для расчета строк (в том числе и НДС) обращаются ещё и другие документы.
---
Механика расчета определяется флагом "ЦенаВключаетНДС" в виде цены. По идее должно работать без допила
---
В данном случае он считает для всего документа, а нужно построчно если ставка НДС 18/118.
---
Пробежался по коду, он не использует "ЦенаВключаетНДС" из вида цены, только использует одноимённый допреквизит документа, но в этом случае на весь документ распространяется.