Цитата(Vofka @ 27.02.15, 8:48) необходимо зарегистрироваться для просмотра ссылки
У меня есть какая-то древняя бухгалтерия под рукой. На примере её можно сделать так:
Для Каждого СтрокаТЧ ИЗ Товары Цикл
ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаТЧ, ЭтотОбъект);
ЗаполнитьСчетаУчетаВСтрокеТабЧасти(СтрокаТЧ, "Товары", Истина, Истина);
ПриИзмененииНоменклатурыТоваров(СтрокаТЧ);
// Рассчитываем реквизиты табличной части.
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТЧ, ЭтотОбъект);
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТЧ, ЭтотОбъект);
КонецЦикла;
Спасибо что откликнулись ваше направление оказалось полезным .
код не заработал по причине умного кода от разработчиков стандартных конфигураций , это не упрёк а констатация факта .
Для Каждого СтрокаТЧ ИЗ Товары Цикл
//*********************************************
//СтрокаТЧ = ЭлементыФормы.Товары.ТекущиеДанные; *-* Эта строка нам портила весь цикл
// Выполнить общие действия для всех документов при изменении номенклатуры.
ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(СтрокаТЧ, ЭтотОбъект);
// Заполняем реквизиты табличной части.
ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(СтрокаТЧ, ЭтотОбъект);
СтруктураШапкиДокумента = Новый Структура("Контрагент, ТипЦен, ДоговорКонтрагента, ДатаДокумента, ВалютаДокумента, УчитыватьНДС, СуммаВключаетНДС",
Контрагент, ТипЦен, ДоговорКонтрагента, Дата, ВалютаДокумента, УчитыватьНДС, СуммаВключаетНДС);
ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПокупкиТабЧасти(СтрокаТЧ, ЭтотОбъект, СтруктураШапкиДокумента, мВалютаРегламентированногоУчета);
// Рассчитываем реквизиты табличной части.
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТЧ, ЭтотОбъект);
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТЧ, ЭтотОбъект);
ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТЧ, "Товары", Истина, Истина);
Если (НЕ Склад.ВидСклада = Перечисления.ВидыСкладов.Оптовый)
И мУчетВПродажныхЦенах
И (ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия)
И (НЕ ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомитентом) Тогда
СтрокаТЧ.ЦенаВРознице = Ценообразование.ПолучитьЦенуНоменклатуры(СтрокаТЧ.Номенклатура, Склад.ТипЦенРозничнойТорговли,
Дата, мВалютаРегламентированногоУчета, 1, 1);
СтрокаТЧ.СуммаВРознице = СтрокаТЧ.Количество * СтрокаТЧ.ЦенаВРознице;
Если (Склад.ВидСклада = Перечисления.ВидыСкладов.НеавтоматизированнаяТорговаяТочка) и (мРазделятьПоСтавкамНДС) Тогда
СчетаУчета = БухгалтерскийУчет.ПолучитьСчетаУчетаНоменклатуры(Организация, СтрокаТЧ.Номенклатура, Склад);
Если ЗначениеЗаполнено(СтрокаТЧ.Номенклатура) Тогда
СтрокаТЧ.СтавкаНДСВРознице = СтрокаТЧ.Номенклатура.СтавкаНДС;
КонецЕсли;
КонецЕсли;
КонецЕсли;
//************************************************
// Рассчитываем реквизиты табличной части.
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТЧ, ЭтотОбъект);
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТЧ, ЭтотОбъект);
КонецЦикла;
для того чтобы пользователь не испытывал какие-то сложности и не ловил ошибки при измененнии номенклататуры пришлось основной код позаимствовать с процедуры при изменении номенклатуры.... получилось именно так .
Дальше решил не разбираться расчётах сумм и Ндс думаю что процедуры проходят два круга , но скорость обработки меня удовлетворяет вполне .
Может кому-то это пригодится и кто-то просто с экономит время . всем спасибо от меня .