Имя: Пароль:
1C
 
Не выполняется результат
0 myr4ik07
 
14.08.15
18:57
В форме Выбора Справочника.Номенклатура сделал http://codepad.org/BGhUfmab
хочу видеть, если остатки есть по выбранной номенклатуре тогда что бы было видно зак цену и несколько параметризованных типов цен, но смысл в том, что почему то постоянный цикл осуществляется, доходит до ОстаткиСЦенами.Загрузить(РезультатЗапроса);    и перескакивает опять на
СписокПриАктивизацииСтрокиНаСервере(Элемент.ТекущаяСтрока);
1 Fragster
 
гуру
14.08.15
19:04
при активизации строки нельзя делать серверные вызовы, делай отложенный через ПодключитьОбработчикОжидания
2 Fragster
 
гуру
14.08.15
19:04
ТаблицаФормы (FormTable)
ПриАктивизацииСтроки (OnActivateRow)
Синтаксис:

ПриАктивизацииСтроки()
Описание:

Вызывается при активизации строки таблицы.
Примечание:

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
3 Aleksandr N
 
14.08.15
19:05
(1) Можно без контекста
4 myr4ik07
 
14.08.15
19:07
как бы так веро и получается то что нужно

ВЫБРАТЬ ПЕРВЫЕ 1
    ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена
ПОМЕСТИТЬ вт
ИЗ
    РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних

УПОРЯДОЧИТЬ ПО
    ЦеныНоменклатурыКонтрагентовСрезПоследних.Период УБЫВ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОстатокТоваров.СтруктурнаяЕдиница КАК Склад,
    ОстатокТоваров.КоличествоОстаток КАК Остаток,
    ВременнаяТаблица.Цена,
    Цена1.Цена КАК Цена1,
    Цена3.Цена КАК Цена2,
    Цена4.Цена КАК Цена3
ИЗ
    РегистрНакопления.ЗапасыНаСкладах.Остатки(
            ,
            Номенклатура В
                (ВЫБРАТЬ
                    вт.Номенклатура
                ИЗ
                    вт КАК вт)) КАК ОстатокТоваров
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ вт КАК ВременнаяТаблица
            ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
                    ,
                    Номенклатура В
                            (ВЫБРАТЬ
                                вт.Номенклатура
                            ИЗ
                                вт КАК вт)
                        И ВидЦен = &Цена1) КАК Цена1
            ПО ВременнаяТаблица.Номенклатура = Цена1.Номенклатура
            ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
                    ,
                    Номенклатура В
                            (ВЫБРАТЬ
                                вт.Номенклатура
                            ИЗ
                                вт КАК вт)
                        И ВидЦен = &Цена3) КАК Цена3
            ПО ВременнаяТаблица.Номенклатура = Цена3.Номенклатура
            ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
                    ,
                    Номенклатура В
                            (ВЫБРАТЬ
                                вт.Номенклатура
                            ИЗ
                                вт КАК вт)
                        И ВидЦен = &Цена4) КАК Цена4
            ПО ВременнаяТаблица.Номенклатура = Цена4.Номенклатура
        ПО ОстатокТоваров.Номенклатура = ВременнаяТаблица.Номенклатура
5 Aleksandr N
 
14.08.15
19:10
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
ТекОбъект = ОстаткиСЦенами;    
СписокПриАктивизацииСтрокиНаСервере(Элемент.ТекущаяСтрока, ТекОбъект);
КопироватьДанныеФормы(ТекОбъект, ОстаткиСЦенами);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СписокПриАктивизацииСтрокиНаСервере(Товар, ОстаткиСЦенами)
..............
КонецПроцедуры
6 Fragster
 
гуру
14.08.15
19:30
(3) можно, но все равно фигня. вот встанет пользователь на строку таблицы, нажмет стрелку вниз и положит базу...
а вот если через обработчик ожидания через 0.2 секунды - то ок. не забывая предыдущий отменять, конечно же.
7 Aleksandr N
 
14.08.15
19:33
(6) Почему то я об этом не подумал)
8 myr4ik07
 
15.08.15
14:37
(7) понимаю, может и не очень лучший вариант выхода из ситуации, но взял ваш вариант, как бы работает, тут ничего не поделаешь, заказчик хочет видеть и все
Программист всегда исправляет последнюю ошибку.