Имя: Пароль:
1C
1С v8
Добавление для выбора количества в Расходных накладных БП 3.0
, ,
0 Валидатор
 
27.12.13
15:42
столкнулся с проблемой:
нужно было добавить в номенклатуру вторую единицу измерения в карточку, и в расходную накладную добавить колонку: второе количество, это все легко, дальше:
Нужно как то сделать, чтобы при вводе количества 1 и количества 2, пользователь мог выбирать, по какому количеству расчитывать цену в строке номенклатуры, и взависимости от этой цены формировалась ТОРГ 12, не могу придумать как(
1 Валидатор
 
27.12.13
16:18
ап
2 Валидатор
 
27.12.13
16:32
Добавил 2 колонки с 2мя количествами, решил добавить на форму 2 галочки, расчитать по кол-ву 1, и рассчитать по кол-ву 2, а как сделать, чтобы при нажатии на одну из галочек пересчитывалась вся ТЧ?) как в долбанном управляемом приложении вообще получить все строки ТЧ?
3 Валидатор
 
27.12.13
16:33
в обычном я бы просто написал для каждого строка из Товары цикл /// конецЦикла
а в управляемом такая вещь не прокатывает(
4 dj_serega
 
27.12.13
16:39
(3) Для Каждого СтрокаТовары Из Объект.Товары Цикл
    // Текст пересчета.
КонецЦикла;
5 dj_serega
 
27.12.13
16:40
+ (4) К реквизитам Объекта в УП можно достучаться через "Объект.", к реквизитам формы "ЭтаФорма" или просто писать имя реквизита.
6 Валидатор
 
27.12.13
16:47
Для Каждого СтрокаТовары Из Объект.Товары Цикл
        ОбработкаТабличныхЧастейКлиентСервер.ПриИзмененииКоличествоЦена2(ЭтаФорма, "Товары");
    КонецЦикла;
сделал так, но пересчитывает он только для той строки, которая у меня выделена
7 dj_serega
 
27.12.13
16:49
а что у тебя за код в
ОбработкаТабличныхЧастейКлиентСервер.ПриИзмененииКоличествоЦена2(ЭтаФорма, "Товары");
8 Валидатор
 
27.12.13
16:50
Процедура ПриИзмененииКоличествоЦена2(Форма, ИмяТаблицы, ЗначениеПустогоКоличества = 0) Экспорт

    Элементы = Форма.Элементы;
    Объект = Форма.Объект;

    СтрокаТаблицы = Элементы[ИмяТаблицы].ТекущиеДанные;
    ОбработкаТабличныхЧастейКлиентСервер.РассчитатьСуммуТабЧасти2(СтрокаТаблицы, ЗначениеПустогоКоличества);

    Если СтрокаТаблицы.Свойство("СуммаНДС") Тогда
        ОбработкаТабличныхЧастейКлиентСервер.РассчитатьСуммуНДСТабЧасти(СтрокаТаблицы, Объект.СуммаВключаетНДС);
    КонецЕсли;

    Если СтрокаТаблицы.Свойство("СуммаВРознице") Тогда
        СтрокаТаблицы.СуммаВРознице = СтрокаТаблицы.Количество2 * СтрокаТаблицы.ЦенаВРознице;
    КонецЕсли;

    Если СтрокаТаблицы.Свойство("Всего") Тогда
        СтрокаТаблицы.Всего = СтрокаТаблицы.Сумма + ?(Объект.СуммаВключаетНДС, 0, СтрокаТаблицы.СуммаНДС);
    КонецЕсли;

КонецПроцедуры
9 dj_serega
 
27.12.13
16:55
ну так вот тебе и причина

    СтрокаТаблицы = Элементы[ИмяТаблицы].ТекущиеДанные;
10 Валидатор
 
27.12.13
16:55
(9) а как сделать чтобы для каждой строки было а не текущие данные?
11 Валидатор
 
27.12.13
16:59
в общем модуле то не получится же все элементы ТЧ с формы выгрузить
12 Валидатор
 
27.12.13
16:59
обойти циклом*
13 dj_serega
 
27.12.13
16:59
(11) что за колонка "Всего". Реквизит формы?
14 Валидатор
 
27.12.13
17:02
(13) да
15 Валидатор
 
27.12.13
17:03
и есть еще Всего - как реквзит ТЧ
16 Валидатор
 
27.12.13
17:06
хотя да, всего - колонка ТЧ Товары
17 dj_serega
 
27.12.13
17:19
(16) Напиши клиентскую процедуру:

Процедура ПриИзмененииКоличествоЦена2(Форма, ИмяТаблицы, ЗначениеПустогоКоличества = 0) Экспорт

    Для Каждого СтрокаТаблицы Из Элементы[ИмяТаблицы] Цикл
    
        ОбработкаТабличныхЧастейКлиентСервер.РассчитатьСуммуТабЧасти2(СтрокаТаблицы, ЗначениеПустогоКоличества);
    
        Если СтрокаТаблицы.Свойство("СуммаНДС") Тогда
            ОбработкаТабличныхЧастейКлиентСервер.РассчитатьСуммуНДСТабЧасти(СтрокаТаблицы, Объект.СуммаВключаетНДС);
        КонецЕсли;
    
        Если СтрокаТаблицы.Свойство("СуммаВРознице") Тогда
            СтрокаТаблицы.СуммаВРознице = СтрокаТаблицы.Количество2 * СтрокаТаблицы.ЦенаВРознице;
        КонецЕсли;
    
        Если СтрокаТаблицы.Свойство("Всего") Тогда
            СтрокаТаблицы.Всего = СтрокаТаблицы.Сумма + ?(Объект.СуммаВключаетНДС, 0, СтрокаТаблицы.СуммаНДС);
        КонецЕсли;
    
    КонецЦикла;

КонецПроцедуры
18 Валидатор
 
27.12.13
17:23
(17) зачем вы мне мой код же скопировали?)