|
v7: Подчиненый справочник |
☑ |
0
work92
17.09.12
✎
11:53
|
Всем прив!!!!!
Возникла проблема подскажите пути решения.........
Функция КоличествоЭлементов(Спр, Влд)
Спр.ИспользоватьВладельца(Влд);
Спр.ВыбратьЭлементы();
й=0;
Пока Спр.ПолучитьЭлемент()=1 Цикл
й=й+1;
КонецЦикла;
Возврат й;
КонецФункции
Процедура Выполнить()
Контрагенты=СоздатьОбъект("Справочник.Контрогент");
Списания=СоздатьОбъект("Справочник.Товар");
Спс=СоздатьОбъект("Справочник.Товар");
Поставка=СоздатьОбъект("Справочник.Поставк");
Поставка.НайтиПоНаименованию("Молот",0,1);
ТоварПро2=Поставка.ТекущийЭлемент();
Контрагенты.ВыбратьЭлементы();
Пока Контрагенты.ПолучитьЭлемент()=1 Цикл
//Если Контрагенты.ЭтоГруппа()=1 Тогда
// Продолжить;
// КонецЕсли;
КоличествоПодчинённых=КоличествоЭлементов(Списания,Контрагенты);
Списания.ИспользоватьВладельца(Контрагенты);
Списания.ВыбратьЭлементы();
Пока Списания.ПолучитьЭлемент() = 1 Цикл
Если(Списания.Товар=ТоварПро2) и (КоличествоПодчинённых=1) Тогда
Списания.Сумма=14;
ИначеЕсли(Списания.Товар=ТоварПро2) и (КоличествоПодчинённых>=2)Тогда
Списания.Сумма=24;
Иначе
Продолжить;
КонецЕсли;
Списания.Записать();
Сообщить("Записано "+Списания.Сумма+" в "+Контрагенты+"::"+Списания);
КонецЦикла;
КонецЦикла;
КонецПроцедуры
|
|
1
Ёпрст
гуру
17.09.12
✎
11:53
|
(0) не озвучена проблема - нет путей решения. Тупик.
|
|
2
Ёпрст
гуру
17.09.12
✎
11:54
|
КонтрОгент - может, причина в этом ?
|
|
3
work92
17.09.12
✎
11:55
|
Как зделать чтоб в подчиненом справочнике
Если(Списания.Товар=ТоварПро2) и (КоличествоПодчинённых=1) Тогда считала количество подчиненых только ТоварПро2 (а у меня считает все подчиненые
)
|
|
4
Ёпрст
гуру
17.09.12
✎
11:56
|
Ладно, решение:
//КоличествоПодчинённых=КоличествоЭлементов(Списания,Контрагенты);
КоличествоПодчинённых=КоличествоЭлементов(Списания,Контрагенты.ТекущийЭлемент());
//Списания.ИспользоватьВладельца(Контрагенты);
Списания.ИспользоватьВладельца(Контрагенты.ТекущийЭлемент());
|
|
5
work92
17.09.12
✎
11:57
|
считала количество подчиненых только ТоварПро2
|
|
6
work92
17.09.12
✎
11:58
|
подскажите как решить это
|
|
7
Ёпрст
гуру
17.09.12
✎
12:02
|
Функция КоличествоЭлементов(Спр, Влд,Товар)
Спр.ИспользоватьВладельца(Влд);
Спр.ВыбратьЭлементы();
й=0;
Пока Спр.ПолучитьЭлемент()=1 Цикл
Если Спр.Товар=Товар Тогда
й=й+1;
КонецЕсли;
КонецЦикла;
Возврат й;
КонецФункции
....
КоличествоПодчинённых=КоличествоЭлементов(Списания,Контрагенты.ТекущийЭлемент(),ТоварПро2);
|
|
8
work92
17.09.12
✎
12:03
|
Ёпрст4 СПС
|
|
9
Cthulhu
17.09.12
✎
13:51
|
Запрос с фильтром по владельцу - не быстрее перебора?.. вроде первичный индекс...
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший