![]() |
![]() |
![]() |
|
v7: группа в группе справочнка | ☑ | ||
---|---|---|---|---|
0
RodionR
27.05.16
✎
13:07
|
Доброе время суток!
Процедура Сформировать() Спрд=СоздатьОбъект("Справочник.Контрагенты"); Спрк=СоздатьОбъект("Справочник.Договоры"); Спр = СоздатьОбъект("Справочник.ТарифУниверсальный"); сп=СоздатьОбъект("Справочник.ТарифУниверсальный"); Спрд.ВыбратьЭлементы(); Пока спрд.получитьэлемент()=1 Цикл спрк.использоватьвладельца(выбконтрагенты); спрк.выбратьэлементы(); Пока спрк.получитьэлемент()=1 Цикл спр.Использоватьвладельца(спрк.текущийэлемент()); //Спр.ИспользоватьВладельца(ТипНомера); выбгруппа=спр.текущийэлемент(); Спр.НайтиПоНаименованию("Контрагент"); спр.использоватьродителя(спр.текущийэлемент()); Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл грконтрагент=спр.контрагент; сп.использоватьвладельца(спрк.текущийэлемент()); сп.найтипонаименованию("группауслуг"); сп.использоватьродителя(спр.текущийэлемент()); сп.выбратьэлементы(); Пока сп.получитьэлемент()=1 Цикл грномернойфонд=сп.номернойфонд; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецПроцедуры Какого рожна этот код когда через отлатчик работает пошагово, когда через предприятие, выдает ошибку неверное значение во втором случае выбора родителя! есть подазрение что натыкаясь на пустое значение это пойдачит... Но общий вопрос который решаю... это попытка на данный момент разобраться как считать данные из подгруппы (есть основная группа, и в ней группы, в которых данные) Смысл сделать заполнение основной группы группами в которых еще заполняються данные... Кто хоть что-то понял из выше изложенного прозьба высказать свое проф. мнение.. Ооооочень буду благодарен! мягко сказать зат...ся с этимы попытками и потугами... |
|||
1
пипец
27.05.16
✎
14:21
|
проверки на группу нет
|
|||
2
пипец
27.05.16
✎
14:22
|
тьпу ойп - владелец < > родитель
ЗЫ ты чо хотел та ? |
|||
3
RodionR
27.05.16
✎
14:28
|
в отладчики проверяю на родителя все вроде норм...
как бы выбераем контрагента группу.. у этой группы папки(группы)в них данные, над бы попась в эти папки, а получаеться что папки видет в основной группе но вот как попась в них для последующего ввода данных в них немойму как( |
|||
4
RodionR
27.05.16
✎
14:29
|
я не понял второй камент... но владелец там типа справочники подчененные
|
|||
5
пипец
27.05.16
✎
14:44
|
Спрд.ВыбратьЭлементы();
Пока спрд.получитьэлемент()=1 Цикл спрк.использоватьвладельца(выбконтрагенты); спрк.выбратьэлементы(); Пока спрк.получитьэлемент()=1 Цикл спр.Использоватьвладельца(спрк.текущийэлемент()); мысл сделать заполнение основной группы группами в которых еще заполняються данные... если справочники подчиненные - финг с ними , но вот проверки ГРУППА это или нет нет нигде - андестенд ? сп.найтипонаименованию("группауслуг"); сп.использоватьродителя(спр.текущийэлемент()); А если группауслуг - не группа ? а если не нашли ? |
|||
6
пипец
27.05.16
✎
14:45
|
выбгруппа=спр.текущийэлемент();
Спр.НайтиПоНаименованию("Контрагент"); спр.использоватьродителя(спр.текущийэлемент()); - тут тоже самое |
|||
7
RodionR
27.05.16
✎
14:51
|
если сп.этогруппа()=1 тогда
продолжить; конецЕсли; вот так? вопрос, до цикла проверять? |
|||
8
пипец
27.05.16
✎
14:57
|
спр.использоватьродителя(спр.текущийэлемент()); - это ваще перл _))))
ЗЫ (7) сначала плавать а потом воду нальем? |
|||
9
RodionR
27.05.16
✎
15:04
|
пробую в цикле...
|
|||
10
RodionR
27.05.16
✎
16:06
|
Процедура Сформировать()
Спрд=СоздатьОбъект("Справочник.Контрагенты"); Спрк=СоздатьОбъект("Справочник.Договоры"); Спр = СоздатьОбъект("Справочник.ТарифУниверсальный"); сп=СоздатьОбъект("Справочник.ТарифУниверсальный"); nn = 0; Спрд.ВыбратьЭлементы(); Пока спрд.получитьэлемент()=1 Цикл спрк.использоватьвладельца(выбконтрагенты); спрк.выбратьэлементы(); Пока спрк.получитьэлемент()=1 Цикл спр.Использоватьвладельца(спрк.текущийэлемент()); //Спр.ИспользоватьВладельца(ТипНомера); выбгруппа=спр.текущийэлемент(); Спр.НайтиПоНаименованию(выбконтрагенты); // Спр.НайтиПоНаименованию("Номернойфонд"); спр.использоватьродителя(спр.текущийэлемент()); Пока nn = 0 Цикл nn = 1; Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент() = 1 Цикл Если Спр.ЭтоГруппа()=1 Тогда НомФ=Спр.НомернойФонд; Сообщить(номф); Сообщить(спр.группауслуг); //***** с=создатьобъект("Справочник.номернойфонд"); гру=создатьобъект("Справочник.ГруппыУслугТипаНомера"); с.выбратьэлементы(); Пока с.получитьэлемент()=1 Цикл гру.использоватьвладельца(с); гру.выбратьэлементы(); Пока гру.получитьэлемент()=1 Цикл Если СокрЛП(номф)=СокрЛП(с.наименование) Тогда Если СокрЛП(спр.группауслуг)=СокрЛП("") Тогда спр.новый(); спр.группауслуг=гру.группауслуг.наименование; спр.записать(); иначе продолжить; КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; //***** КонецЕсли; //грконтрагент=спр.контрагент; //сп.использоватьвладельца(спрк.текущийэлемент()); //сп.найтипонаименованию("номернойфонд"); //сп.использоватьродителя(сп.текущийэлемент()); //сп.выбратьэлементы(); //Пока сп.получитьэлемент()=1 Цикл // Если Сп.ЭтоГруппа()=1 Тогда // Сообщить(сп); // Продолжить; //КонецЕсли; // грномернойфонд=сп.номернойфонд; // Сообщить(сп.группауслуг); //КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
11
RodionR
27.05.16
✎
16:07
|
и выдает ошибку не выбран элемент(
|
|||
12
RodionR
27.05.16
✎
16:08
|
при попытке пока спр.получитьэлемент()=1 цикл
|
|||
13
RodionR
27.05.16
✎
16:08
|
один раз проходит выводит данные из сообщения (номф)
и все( |
|||
14
RodionR
27.05.16
✎
16:43
|
все нахрен запутался
|
|||
15
HawkEye
27.05.16
✎
17:46
|
(10)
1. Спрд.ВыбратьЭлементы(); Пока спрд.получитьэлемент()=1 Цикл спрк.использоватьвладельца(выбконтрагенты); зачем выбрать/получить если есть выбконтрагенты? 2. спр.Использоватьвладельца(спрк.текущийэлемент()); //Спр.ИспользоватьВладельца(ТипНомера); выбгруппа=спр.текущийэлемент(); откуда после ИспользоватьВладельца возьмется ТекущийЭлемент()? дальше этот поток сознания читать не стал... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |