![]() |
|
Обработка подбора ТЧ документа | ☑ | ||
---|---|---|---|---|
0
Начинающий_13
03.08.12
✎
10:29
|
Здравствуйте
Не просчитываются данные по строке при обработке подбора, какую процедура надо задействовать еще? Параметры становятся все в строку. Просчитывается только ПриИзменении() без проблем Перем ТМЦ,Количество, Цена,Сумма,Артикул,ЕдиницаИзмерения,Вес,Страна; Перем СтавкаНДС,СтавкаНП,СтавкаНДСр,СтавкаНПр; Перем СтруктураПараметров; СтандартнаяОбработка = Ложь; Если ВыбраннаяСтрока.ЭтоГруппа Тогда СтандартнаяОбработка = Истина; Возврат; КонецЕсли; Количество=1; // Выбараем значения спрвочника ТМЦ = ВыбраннаяСтрока; СтавкаНДС = ВыбраннаяСтрока.СтавкаНДС; СтавкаНП = ВыбраннаяСтрока.СтавкаНП; СтавкаНДСр = ВыбраннаяСтрока.СтавкаНДСр; СтавкаНПр = ВыбраннаяСтрока.СтавкаНПр; ИмяФормыВводаПараметров = "ВводПараметров"; ФормаВводПараметров = Справочники.ТМЦ.ПолучитьФорму(ИмяФормыВводаПараметров, ЭтаФорма); // Устанвливаем занчения ФормаВводПараметров.Заголовок = "ВВОД ПАРАМЕТРА"; ФормаВводПараметров.ТМЦ = ТМЦ; ФормаВводПараметров.Количество = Количество; ФормаВводПараметров.СтавкаНДС = СтавкаНДС; ФормаВводПараметров.СтавкаНП = СтавкаНП; ФормаВводПараметров.СтавкаНДСр = СтавкаНДСр; ФормаВводПараметров.СтавкаНПр = СтавкаНПр; СтруктураПараметров = ФормаВводПараметров.ОткрытьМодально(); Если ТипЗнч(СтруктураПараметров) = Тип("Структура") Тогда СтруктураПараметров.Свойство("Количество" , Количество); СтруктураПараметров.Свойство("Цена" , Цена); Иначе Возврат; // ФормаВводПараметров(количества и цены) закрыта не по кнопке "ОК" КонецЕсли; Н=Товары.Добавить(); Н.СтавкаНДСр = СтруктураПараметров.СтавкаНДСр; Н.СтавкаНПр = СтруктураПараметров.СтавкаНПр; Н.Надбавка = СтруктураПараметров.Надбавка; Н.ТМЦ = ВыбраннаяСтрока; Н.Характеристика = СтруктураПараметров.Характеристика; Н.Количество = СтруктураПараметров.Количество; Н.Цена = СтруктураПараметров.Цена; Н.Цена1го = СтруктураПараметров.Цена1го; Н.Сумма = СтруктураПараметров.Сумма; Н.СтавкаНДС = СтруктураПараметров.СтавкаНДС; Н.СтавкаНП = СтруктураПараметров.СтавкаНП; |
|||
1
Начинающий_13
03.08.12
✎
10:54
|
Что никто не сталкивался с такой проблемой?
|
|||
2
hhhh
03.08.12
✎
11:51
|
(1) ну в типовой посмотрите, чего вы паритесь.
Вообще-то, вот эту фигню Н.Характеристика = СтруктураПараметров.Характеристика; Н.Количество = СтруктураПараметров.Количество; Н.Цена = СтруктураПараметров.Цена; Н.Цена1го = СтруктураПараметров.Цена1го; Н.Сумма = СтруктураПараметров.Сумма; Н.СтавкаНДС = СтруктураПараметров.СтавкаНДС; Н.СтавкаНП = СтруктураПараметров.СтавкаНП; выкиньте. Напишите просто ЗаполнитьЗначенияСвойств(Н, СтруктураПараметров); А то вас тут распнут, как злостного семерочника. |
|||
3
Агент Инфостарта
03.08.12
✎
12:03
|
(2) Не парься, в типовых подобных портянок полно.
|
|||
4
hhhh
03.08.12
✎
12:06
|
(3) в типовых- то понятно, эта портянка ведь быстрее работает, чем ЗаполнитьЗначенияСвойств. Это они так производительность увеличивают.
|
|||
5
Начинающий_13
03.08.12
✎
12:27
|
Я смотрел типовые, но ничего там для решения проблемы не нашел
Структура Функций общего модуля Процедура РассчитатьСумму(СтрокаТЧ, ДокументОбъект) Экспорт // ДА ИмяТабличнойЧасти = ПолучитьИмяТЧПоСсылкеНаСтроку(СтрокаТЧ); МетаданныеДокумента = ДокументОбъект.Метаданные(); СтрокаТЧ.Сумма = СтрокаТЧ.Цена * СтрокаТЧ.Количество; КонецПроцедуры В модуле формы документа структура процедур ПриИзменении Процедура ТоварыСуммаПриИзменении(Элемент) РаботаСРасчетами.РассчитатьЦену(ЭлементыФормы.Товары.ТекущиеДанные, ЭтотОбъект); РаботаСРасчетами.РассчитатьВсего(ЭлементыФормы.Товары.ТекущиеДанные, ЭтотОбъект); РаботаСРасчетами.РассчитатьНП(ЭлементыФормы.Товары.ТекущиеДанные, ЭтотОбъект); РаботаСРасчетами.РассчитатьНДС(ЭлементыФормы.Товары.ТекущиеДанные, ЭтотОбъект); КонецПроцедуры |
|||
6
hhhh
03.08.12
✎
13:53
|
(5) зачем вы в общем модуле смотрите? В документе смотрите. ОбработкаВыбора может.
|
|||
7
Начинающий_13
03.08.12
✎
15:43
|
У меня на форме табличные поля Товары,тара (и т.д.) и Подбор ( ТипЗнчСправочникСписок.ТМЦ )
Этот алгоритм помещем в Процедуру ВЫБОР таб.поля Подбор Все подбирается из Подбор в ТЧ Товары,тата документа, но нет просчета по строке, надо перещелкнуть любое значение в строке что бы получился результат.Можно ли активизировать Событие ПриИзменении по строке и ячейке допустим количество Я нашел выход но это НОВАЯ ПРОЦЕДУРА с пересчетом (не хочется городить чущь) Я попробую по другому сделать через команду. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |