Имя: Пароль:
IT
 
Как работать с Таблицей Значений в подборе?
0 Таня
 
08.01.04
20:36
Чтобы при выборе значения в ТаблицеЗначений выполнялось то же что и при выборе значения в списке элементов?
Я так поняла, что при двойном щелчке мыши по элементу управление обратно передается в форму документа из которого попали в подбор на процедуру ОбработкаПодбора, как туда же попасть из ТаблицыЗначений?
1 345
 
08.01.04
21:37
При тычке мышой в ТЗ нужно пнуть обработку в одно место методом MakeChoice(<?>) ..... взято из СП ....
2 Таня
 
08.01.04
22:31
Спасибо, это получилось.
Другой вопрос, почему в ТаблицеЗначений дает делать двойной щелчок только по первой строке?
3 GrayT
 
08.01.04
22:37
А у тебя там, скорее всего, только одна трочка с данными и есть.
4 Таня
 
08.01.04
22:52
Нет у меня там две строчки с данными.
Она у меня заполняется так:
Функция Остаток()
Стр = "";
Если Выбран() = 1 Тогда
Стр = "Остаток "+ТекущийЭлемент()+" на складе =" +Расчет()+" "+ЕдИзм;
Рег.УстановитьФильтр(ТекущийЭлемент());
Рег.ВыгрузитьИтоги(СписокПартий);
СписокПартий.ВидимостьКолонки("Стоимость",0);
КонецЕсли;
Возврат Стр;
КонецФункции
5 GrayT
 
08.01.04
23:09
Стоп. MakeChoice - ВыполнитьВыбор. Ты выбираешь ВСЮ таблицу. Попробуй повесить свои процедурку в свойства таблицы (Дополнительно-Формула)
6 GrayT
 
08.01.04
23:27
Ой, что это я сегодня сплошную ахинею несу.
Форма.ВыполнитьВыбор(тзВсего.ВнешнийЗаказ)- прекрасно работает, сам проверял :))
7 Таня
 
08.01.04
23:36
Нет, у меня ВыполнитьВыбор работает.
У меня если
Рег.УстановитьФильтр(ТекущийЭлемент());
Рег.ВыгрузитьИтоги(СписокПартий);
СписокПартий.ВидимостьКолонки("Стоимость",0);
Стоит в функции, то можно выбирать только первую строку, если в другой процедуре, то нормально выбирает любые строки, но мне надо чтобы при переходе между элементами справочника СписокПартий показывал партии и остатки по выбранному товару.
8 345
 
09.01.04
06:22
Вообще говоря, вопросы типа 7 возникают при отсутствии знаний по программированию в виндах ...

Любой ответ предполагает, что спрашивающий знает основы событийного программирования в виндах ... если этого нет - отвечать по большей части просто бесполезно ... не поймут ... К тому же в 1С с ее не слегка, а полностью ублюдочной реализацией событийной модели ...

Надо для начала освоить начала программирования в среде виндов ... Для этого не требуется изучать С или что либо иное, достаточно навороченное.  Достаточно потренироваться на кошках .... например VBA (виуал басик для аппликации)... тогда таких вопросов не будет ..

Я не смогу дать ответ на (7) - меня просто не поймут ... Нет знания базовых терминов и понятий ...
9 GrayT
 
09.01.04
06:59
(8)А может все же попробуете, вдрг кто-нибудь да разбереться :)
(7) Не совсем понял что требуется. При переходе от строчки к строчке видеть остаток по товару в сноске или в еще одной колонке?
10 Таня
 
09.01.04
07:15
Требуется при переходе от строчки к строчке видеть остатки по товару по каждой партии
Список элементов:
1. Пень трухлявый
2. Бревно березовое

Ставлю галку "Развернуть остатки по партиям", появляется ТЗ "СписокПартий" с колонками
Если выбрано Бревно, то отображаетсяся
Приход (партия) Количество
ПрихНакл 1         12
ПрихНакл 2         45

Если выбрано Пень, то отображается
Приход (партия) Количество
ПрихНакл 1         1

Список формируется по вышеописаному способу:
1.Фильтр Регистра по ТекущемуЭлементу()
2.Выгрузка Регистра в ТЗ "СписокПартий"
3.Скрывается ненужная колонка "Стоимость".

Если ставлю все три пункта в процедуру РазвернутьПоПартиям, то ТЗ формируется в виде
Товар           Приход (партия) Количество
Пень трухлявый    ПрихНакл 1         1
Бревно берез-е    ПрихНакл 1         12
Бревно берез-е    ПрихНакл 2         45

Перемещение по ТЗ происходит нормально по любым строкам

Как только помещаю формирование спискаПартий в Функцию, то позволяет выбирать только первую строку.

8) 345, все же попробуй объяснить
11 345
 
09.01.04
07:56
// в самое начало модуля формы
Var ПоследнийИдиот;                        

//----------------------------------------------------                  
function ПоказатьКолвоИдиотов()                      
   if CurrentItem().Selected() <> 1 then return ""; endIf;
   if Form.тз.Visible() <> 1 then return ""; endIf;
   if ПоследнийИдиот = CurrentItem() then return ""; endIf;
                       
   // отключаем видимость тз - чтобы кругом не ходить
   Form.тз.Visible(0);

   // здесь считаем остатки по партиям и засовываем в тз
   // именно здесь прячутся тормоза
       
   ПоследнийИдиот = CurrentItem();
   
   Form.тз.Visible(1);            
   return "";
endFunction // ПоказатьКолвоИдиотов

//----------------------------------------------------
procedure OnClose()
   SaveValue ("РазвернутьОстаткиПоПартиям",РазвернутьОстаткиПоПартиям);
EndProcedure  //OnClose
//----------------------------------------------------
procedure OnOpen()  
   ...............
   РазвернутьОстаткиПоПартиям=0;
   РазвернутьОстаткиПоПартиям=RestoreValue ("РазвернутьОстаткиПоПартиям");
   тз.NewColumn( "ПартияДемократии","НужныйТип" ,  , , "Партия" );
   тз.NewColumn( "КоличествоИдиотов","Число" , 15  ,3 , "Количество" );
   ПоследнийИдиот = "";
   ПоказатьКолвоИдиотов()
EndProcedure  //OnOpen
                                             


включение и выключение видимости ТЗ - уже у тя есть
только последним оператором надо вставить
ПоказатьКолвоИдиотов ... сразу при показе тз ....

вызов функции ПоказатьКолвоИдиотов засовывается в формулу в закладке
"Дополнительно"
текствового элемента, положенного на форму ...
12 Лена
 
03.04.04
18:23
Кто нибудь - помогите. Нужно сделать подбор для расходной накладно. На складе товары храняться по разным ценам, и в подборе необходимо видеть реальный остаток по товару и конкретно по его цене.
13 327
 
03.04.04
19:38
Посмотри, как сделано в типовой торговле выбор партии в строке товара в расходной накладной.... В общем то там все уже готово... и не надо ничего делать ...

Но могу заметить, что если люди озабочен выбором партии при продаже... это на практике делается в фирмешках с дурной организацией труда... и непонимающими людьми.... Еще в таких фирмах ЗП манагера привязывается к профиту конкретной продажи..

   А весь механизм ручного выбора партий позволяет продать одну и ту е партию несколько раз... При оформлении доков задним числом... И при перепроведении получишь.... бордель ...

   А так как руководителям такой фирмы все ХХХХХ.... виновата будешь ты... программа неправильно считает ...


P.S. а программа просто не рассчитана на автоматизированный бардак .....
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс