powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Родитель указать
8 сообщений из 8, страница 1 из 1
Родитель указать
    #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
Родитель указать
    #37160500
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ничо, что здесь Запрос.УстановитьПараметр("СтарыйРодитель", СтарыйРодитель); - должна быть ссылка

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

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

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

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

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

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

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

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


ну можно так

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

или так

тз = Запрос.Выполнить().Выгрузить();
Родитель = тз[0].Ссылка
...
Рейтинг: 0 / 0
Родитель указать
    #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]