Гость
Форумы / [игнор отключен] [закрыт для гостей] / Как программно удалить записи в РС Штрихкоды? / 16 сообщений из 16, страница 1 из 1
20.03.2016, 12:34
    #39196381
LittleLoya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
Все доброго времени суток! Как программно удалить записи в РС Штрихкоды? Есть несколько штрихкодов, ошибочно назначенных для неправильной единицы измерения, хочу их удалить и заново переназначить уже для правильной единицы. Подскажите, пожалуйста, как их быстро удалить? Пробовала так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	Штрихкоды.Штрихкод,
	               |	Штрихкоды.Владелец
	               |ИЗ
	               |	РегистрСведений.Штрихкоды КАК Штрихкоды
	               |ГДЕ
	               |	Штрихкоды.Владелец.Родитель = &Родитель";
				   
	Запрос.УстановитьПараметр("Родитель", Родитель);
	
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		Запись = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
		Запись.Отбор.Владелец.Установить(Выборка.Владелец);
		Запись.Удалить(Выборка.Штрихкод);
		Сообщить("Удалён штрихкод " + Выборка.Штрихкод);
		
	КонецЦикла;	


Ругается так:
Ошибка при вызове метода контекста (Удалить)
Запись.Удалить(Выборка.Штрихкод);
по причине:
Значение индекса выходит за границы диапазона
:(
Что не так делаю?
...
Рейтинг: 0 / 0
20.03.2016, 12:51
    #39196390
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
LittleLoya,
авторЧто не так делаю?
не читаете СП по набору записей
...
Рейтинг: 0 / 0
20.03.2016, 13:25
    #39196403
LittleLoya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
javapecker,

Ну прочитала, там вот:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Имя регистра сведений>)
Удалить (Delete)
Синтаксис:

Удалить(<Запись>) 
Параметры:

<Запись> (обязательный)

Тип: Число; РегистрСведенийЗапись.<Имя регистра сведений>. 
Индекс удаляемой записи либо сама запись. 
Описание:

Удаляет запись из набора записей регистра сведений.

Доступность: 

Сервер, толстый клиент, внешнее соединение. 
Пример:

НаборКурсов.Удалить(0);
 


изменила на
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
	Пока Выборка.Следующий() Цикл
		Запись = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
		Запись.Отбор.Владелец.Установить(Выборка.Владелец);
		Запись.Удалить(0);
		Сообщить("Удалён штрихкод " + Выборка.Штрихкод);
		
	КонецЦикла;	
	


всё равно не пашет :( ругается на тоже самое.
...
Рейтинг: 0 / 0
20.03.2016, 14:04
    #39196413
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
LittleLoya,авторУдаляет запись из набора записей регистра сведений.
а вам надо из базы удалить, так что смотрите что есть у набора записей еще, что может повлиять на состояние базы.
...
Рейтинг: 0 / 0
20.03.2016, 15:10
    #39196446
LittleLoya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
javapecker,

Кажется получилось вот так:
Код: sql
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.
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	Штрихкоды.Штрихкод,
	               |	Штрихкоды.Владелец,
	               |	Штрихкоды.Владелец.Код КАК Код,
	               |	Штрихкоды.Владелец.Родитель КАК Родитель
	               |ИЗ
	               |	РегистрСведений.Штрихкоды КАК Штрихкоды
	               |ГДЕ
	               |	Штрихкоды.Владелец.Родитель = &Родитель";
				   
	Запрос.УстановитьПараметр("Родитель", Родитель);
	
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		Запись = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
		Запись.Отбор.Владелец.Установить(Выборка.Владелец);
	
		Запись.Прочитать();
		Для Каждого Х Из Запись Цикл
			Запись.Удалить(0);
			Сообщить("Удалён штрихкод " + Выборка.Штрихкод + " " + Выборка.Код + " " + Выборка.Родитель);
		КонецЦикла;
		Запись.Записать();
	КонецЦикла;	


Всем большое спасибо!!!
...
Рейтинг: 0 / 0
20.03.2016, 16:36
    #39196499
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
LittleLoya,Кажется получилось вот так:
вам точно надо 1С?
...
Рейтинг: 0 / 0
21.03.2016, 10:36
    #39196818
LittleLoya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
javapeckerLittleLoya,
вам точно надо 1С?
К сожалению, да, надо :( Хотя я от него не в восторге, не понимаю его совсем. А почему Вы спрашиваете, что-то не так в коде?
...
Рейтинг: 0 / 0
21.03.2016, 11:22
    #39196876
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
Пока Выборка.Следующий() Цикл
Запись = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
Запись.Отбор.Владелец.Установить(Выборка.Владелец);

Запись.Прочитать();
Для Каждого Х Из Запись Цикл
Запись.Удалить(0);
Сообщить("Удалён штрихкод " + Выборка.Штрихкод + " " + Выборка.Код + " " + Выборка.Родитель);
КонецЦикла;
Запись.Записать();
КонецЦикла;


там Очистить() есть... смысл перебирать набор?
...
Рейтинг: 0 / 0
21.03.2016, 12:34
    #39197002
LittleLoya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
Последний выдох ГПЖ,

Точно! Вот так работает, спасибо большое!
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
	Пока Выборка.Следующий() Цикл
		Запись = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
		Запись.Отбор.Владелец.Установить(Выборка.Владелец);	
		Запись.Прочитать();
		Запись.Очистить();
		Сообщить("Удалён штрихкод " + Выборка.Штрихкод + " " + Выборка.Код + " " + Выборка.Родитель);
		Запись.Записать();
	КонецЦикла;	
...
Рейтинг: 0 / 0
21.03.2016, 12:40
    #39197019
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
LittleLoya,А почему Вы спрашиваете, что-то не так в коде?
Да, много чего не так
1. вам вообще не нужно читать набор записей, вы же все равно его очищаете. Сразу записывайте пустой набор.
2. вы записываете набор слишком много раз, достаточно один раз для каждого владельца, а не для каждого штрихкода.
3. создавать набор записей нужно один раз, до цикла
...
Рейтинг: 0 / 0
21.03.2016, 13:03
    #39197056
LittleLoya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
javapecker,

Поняла, спасибо большое. Тогда окончательный вариант такой:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
	Выборка = Запрос.Выполнить().Выбрать();
	Запись = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
	Пока Выборка.Следующий() Цикл
		Запись.Отбор.Владелец.Установить(Выборка.Владелец);
		Запись.Очистить();
		Сообщить("Удалён штрихкод " + Выборка.Штрихкод + " " + Выборка.Код + " " + Выборка.Родитель);
		Запись.Записать();
	КонецЦикла;	
...
Рейтинг: 0 / 0
21.03.2016, 13:10
    #39197066
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
LittleLoya,Тогда окончательный вариант такой:
Здесь только 3 пункт и половина 1-го (если вы не читаете набор записей, то и очищать его не надо, он пустой).
...
Рейтинг: 0 / 0
21.03.2016, 14:42
    #39197187
LittleLoya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
javapecker,

спасибо, убрала из кода строку Запись.Очистить();
...
Рейтинг: 0 / 0
21.03.2016, 16:25
    #39197294
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
LittleLoya, а лишние записи набора)?
...
Рейтинг: 0 / 0
22.03.2016, 16:23
    #39198138
LittleLoya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
javapecker,

а как? Если я вынесу Запись.Записать(); за пределы цикла, то он мне только последний и удалит. Остальные останутся!
...
Рейтинг: 0 / 0
22.03.2016, 16:29
    #39198146
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно удалить записи в РС Штрихкоды?
LittleLoya, записывайте не каждый раз, запрос слегка измените, обходите его по другому
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Как программно удалить записи в РС Штрихкоды? / 16 сообщений из 16, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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