Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Родитель указать / 8 сообщений из 8, страница 1 из 1
11.03.2011, 21:15
    #37160488
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Родитель указать
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
/////////////////////////////////////////////////\
Процедура КнопкаВыполнитьНажатие(Кнопка)
		// Вставить содержимое обработчика.
	Запрос = Новый Запрос; 
	Запрос.Текст = "ВЫБРАТЬ 
		|Номенклатура.Ссылка 
	|ИЗ 
		|Справочник.Номенклатура КАК Номенклатура
	|ГДЕ 
		|Номенклатура.Родитель <> &СтарыйРодитель"; 

	Запрос.УстановитьПараметр("СтарыйРодитель", СтарыйРодитель); 
	НовыйРодитель=НайтиНовРод(НовыйРодитель);
	Сообщить(НовыйРодитель);
	Результат = Запрос.Выполнить(); 
	ном= 0 ;
	Выборка = Результат.Выбрать(); 
		Пока Выборка.Следующий() Цикл
			ОбработкаПрерыванияПользователя();
			ном=ном+ 1 ;
			Номенклатура = Выборка.Ссылка.ПолучитьОбъект(); 
			Номенклатура.Родитель = НовыйРодитель;
			Номенклатура.Записать();
			Состояние("Обрабатывается запись:"+ном);
		КонецЦикла; 
	Сообщить("Обработка завершена,обработано "+ном);	
КонецПроцедуры
/////////////////////////////////\
Функция НайтиНовРод(Наим)
	Родитель = Справочники.Номенклатура.НайтиПоНаименованию("1. Медикаменты",Истина).ПолучитьОбъект().Ссылка;
	Возврат Родитель
КонецФункции
///////////////////////////////////
СтарыйРодитель="1. Медикаменты"  ;
НовыйРодитель="1. Медикаменты"    ;
Проблема в том что не сохраняется Родитель , становится пустым
не могу понять в чем проблема .
...
Рейтинг: 0 / 0
11.03.2011, 21:28
    #37160500
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Родитель указать
ничо, что здесь Запрос.УстановитьПараметр("СтарыйРодитель", СтарыйРодитель); - должна быть ссылка

а тут СтарыйРодитель="1. Медикаменты" - это строка?
...
Рейтинг: 0 / 0
11.03.2011, 21:33
    #37160508
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Родитель указать
Сообщить(НовыйРодитель); - чего говорит?

Сообщить("" + ТипЗнч(НовыйРодитель)); - чего говорит?

Функция НайтиНовРод(Наим)
Родитель = Справочники.Номенклатура.НайтиПоНаименованию("1. Медикаменты",Истина).ПолучитьОбъект().Ссылка;
Возврат Родитель
КонецФункции

- это что вообще? жест отчаяния?
...
Рейтинг: 0 / 0
11.03.2011, 21:39
    #37160516
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Родитель указать
Господин ПЖничо, что здесь Запрос.УстановитьПараметр("СтарыйРодитель", СтарыйРодитель); - должна быть ссылка

а тут СтарыйРодитель="1. Медикаменты" - это строка?
у меня запрос так нормально отрабатывает
Господин ПЖСообщить(НовыйРодитель); - чего говорит?
1. Медикаменты
Господин ПЖСообщить("" + ТипЗнч(НовыйРодитель)); - чего говорит?
Строка
возвращает строку , ща менять будем)
Господин ПЖ- это что вообще? жест отчаяния?
видимо
...
Рейтинг: 0 / 0
11.03.2011, 21:47
    #37160523
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Родитель указать
>у меня запрос так нормально отрабатывает

он работать нормально не может. Ему подкидывают кривое значение условия
...
Рейтинг: 0 / 0
11.03.2011, 21:59
    #37160543
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Родитель указать
Господин ПЖ,
Код: plaintext
НовыйРодитель=НайтиНовРод(НовыйРодитель);
косяк в этой строке был)
Господин ПЖон работать нормально не может. Ему подкидывают кривое значение условия
тогда исправлю чтобы ссылка была
Подскажите пожалуйста если я знаю что у меня в результате запроса вернется одна запись
нет ли конструкции попроще чем эта?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Запрос = Новый Запрос; 
	Запрос.Текст = "ВЫБРАТЬ 
		|Номенклатура.Ссылка 
	|ИЗ 
		|Справочник.Номенклатура КАК Номенклатура
	|ГДЕ 
		|Номенклатура.Код <> &НовыйРодитель"; 

	Запрос.УстановитьПараметр("НовыйРодитель", Наим); 	
	Выб = Запрос.Выполнить().Выбрать();
	Если Выб.Следующий() Тогда
       		Родитель = Выб.Ссылка;
	КонецЕсли; 
	Возврат Родитель;
...
Рейтинг: 0 / 0
11.03.2011, 22:28
    #37160568
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Родитель указать
aduka05admГосподин ПЖ,
Код: plaintext
НовыйРодитель=НайтиНовРод(НовыйРодитель);
косяк в этой строке был)
Господин ПЖон работать нормально не может. Ему подкидывают кривое значение условия
тогда исправлю чтобы ссылка была
Подскажите пожалуйста если я знаю что у меня в результате запроса вернется одна запись
нет ли конструкции попроще чем эта?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Запрос = Новый Запрос; 
	Запрос.Текст = "ВЫБРАТЬ 
		|Номенклатура.Ссылка 
	|ИЗ 
		|Справочник.Номенклатура КАК Номенклатура
	|ГДЕ 
		|Номенклатура.Код <> &НовыйРодитель"; 

	Запрос.УстановитьПараметр("НовыйРодитель", Наим); 	
	Выб = Запрос.Выполнить().Выбрать();
	Если Выб.Следующий() Тогда
       		Родитель = Выб.Ссылка;
	КонецЕсли; 
	Возврат Родитель;


ну можно так

Выб = Запрос.Выполнить().Выбрать();
Выб.Следующий();
Родитель = Выб.Ссылка

или так

тз = Запрос.Выполнить().Выгрузить();
Родитель = тз[0].Ссылка
...
Рейтинг: 0 / 0
11.03.2011, 22:54
    #37160594
aduka05adm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Родитель указать
Код: plaintext
1.
тз = Запрос.Выполнить().Выгрузить();
Родитель = тз[ 0 ].Ссылка
прикольный вариант )
Кстати спасибо за подсказку
Господин ПЖ а тут СтарыйРодитель="1. Медикаменты" - это строка?
Господин ПЖ Сообщить("" + ТипЗнч(НовыйРодитель)); - чего говорит?
кстати чуть запрос поправил , а то циклическая ошибка получалась
Код: plaintext
1.
2.
3.
4.
5.
Запрос.Текст = "ВЫБРАТЬ 
		|Номенклатура.Ссылка 
	|ИЗ 
		|Справочник.Номенклатура КАК Номенклатура
	|ГДЕ 
		|Номенклатура.Родитель <> &СтарыйРодитель И НЕ Номенклатура.ЭтоГруппа";
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Родитель указать / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]