Обновление записей в PhpMyAdmin

1. ClausKey 21.07.23 09:52 Сейчас в теме
Может кто подсказать, как обновить все строки в SQL из 1с запросом, чтоб не писалось последнее значение запроса, для всех строк в БД?

ЗапросБольше = Новый Запрос;
	ЗапросБольше.Текст = 
	"ВЫБРАТЬ
	|	ВидСобытия.Код КАК Код,
	|	ВидСобытия.Наименование КАК Наименование,
	|	ВидСобытия.Публиковать КАК Публиковать,
	|	ВидСобытия.Отредактировано КАК Отредактировано,
	|	ВидСобытия.Автор КАК Автор,
	|	ВидСобытия.Ответственный КАК Ответственный,
	|	ВидСобытия.Проверено КАК Проверено,
	|	ВидСобытия.GPT КАК GPT,
	|	ВидСобытия.Типограф КАК Типограф,
	|	ВидСобытия.Комментарий КАК Комментарий
	|ИЗ
	|	Справочник.ВидСобытия КАК ВидСобытия
	|ГДЕ
	|	ВидСобытия.IDSQL > 0"; 
	
	ВыборкаБольше = ЗапросБольше.Выполнить().Выбрать();
	
	Попытка 
		
		Пока ВыборкаБольше.Следующий() Цикл 	
			
			Соединение.Execute("UPDATE Events_Types 
			|SET
			|	Title = '"+ВыборкаБольше.Наименование+"',
			|	Responsible = '"+ВыборкаБольше.Ответственный+"',
			|	Creator = '"+ВыборкаБольше.Автор+"',
			|	Publish = '"+Число(ВыборкаБольше.Публиковать)+"',
			|	GPT = '"+Число(ВыборкаБольше.GPT)+"',
			|	Edited = '"+Число(ВыборкаБольше.Отредактировано)+"',
			|	Printer ='"+Число(ВыборкаБольше.Типограф)+"',
			|	Verified = '"+Число(ВыборкаБольше.Проверено)+"");  
			
		КонецЦикла;
		
		Сообщить("Данные обновлены!");
		
	Исключение
		Сообщить(ОписаниеОшибки());
	КонецПопытки;
Показать
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 21.07.23 10:10 Сейчас в теме
3. ClausKey 21.07.23 10:21 Сейчас в теме
(2)
Смысл такой, что я из 1с должен сначала insert всех записей у которых idSQL = 0, после обновляю записи в sql где в 1с idSQL > 0 и вытаскиваю из sql id строки и пресваиваю его для idsql в 1с. Мне в запросе sql по сути не нужно условие, я так понимаю надо сделать цикл с счетчиком, но он жалуется постоянно
Прикрепленные файлы:
4. ClausKey 21.07.23 10:23 Сейчас в теме
(2)

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	////////////////////////////////////////////////////////////­////////////////////////////////////////////////////////////­////////////////////////////////////////////////
	
	//Инициализация переменных
	
	Провайдер = Константы.Провайдер.Получить();
	Драйвер = Константы.Драйвер.Получить();
	СРВ = Константы.Сервер.Получить();
	БД = Константы.БазаДанных.Получить();
	УИД = Константы.Логин.Получить();
	ПВД = Константы.Пароль.Получить();
	
	//Подключение к SQL-серверу
	Попытка  
		
		Соединение  = Новый COMОбъект("ADODB.Connection");
		Команда     = Новый COMОбъект("ADODB.Command");
		ВыборкаСоединения     = Новый COMОбъект("ADODB.RecordSet");
		Соединение.ConnectionString =  "DRIVER=" + Драйвер + ";Server=" + СРВ + ";Database=" + БД + ";UID=" + УИД + ";PWD=" + ПВД + ";";
		Соединение.ConnectionTimeout = 30;
		Соединение.CommandTimeout = 600;
		//Открытие соединение
		Соединение.Open();
		Команда.ActiveConnection   = Соединение;
		Сообщить("Успешное подключение!");      
		
	Исключение
		Сообщить(ОписаниеОшибки());
		Возврат;
	КонецПопытки;    
	
	////////////////////////////////////////////////////////////­////////////////////////////////////////////////////////////­////////////////////////////////////////////////
	////////////////////////////////////////////////////////////­////////////////////////////////////////////////////////////­////////////////////////////////////////////////
	
	//////Запрос на объкты 1С где IDSQL = 0	
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ВидСобытия.Код КАК Код,
	|	ВидСобытия.Наименование КАК Наименование,
	|	ВидСобытия.Публиковать КАК Публиковать,
	|	ВидСобытия.Отредактировано КАК Отредактировано,
	|	ВидСобытия.Автор КАК Автор,
	|	ВидСобытия.Ответственный КАК Ответственный,
	|	ВидСобытия.Проверено КАК Проверено,
	|	ВидСобытия.GPT КАК GPT,
	|	ВидСобытия.Типограф КАК Типограф,
	|	ВидСобытия.Комментарий КАК Комментарий
	|ИЗ
	|	Справочник.ВидСобытия КАК ВидСобытия
	|ГДЕ
	|	ВидСобытия.IDSQL = 0";
	
	Выборка = Запрос.Выполнить().Выбрать();	
	
	Попытка
		
		Пока Выборка.Следующий() Цикл
			Соединение.Execute("INS ERT INTO Events_Types(Title, Responsible, Creator, Publish, GPT, Edited, Printer, Verified, ID1c) 
			|VALUES('" + Выборка.Наименование + "', '" + Выборка.Ответственный + "','" + Выборка.Автор +"', '" + Число(Выборка.Публиковать) + "', '" + Число(Выборка.GPT) + "', '" + Число(Выборка.Отредактировано) + "', '" + Число(Выборка.Типограф) + "', '" + Число(Выборка.Проверено) +"', '"+ Выборка.Код + "'  )");	
		КонецЦикла;
		
		Сообщить("Данные загружены!");	
		
	Исключение
		Сообщить(ОписаниеОшибки());
	КонецПопытки;       
	
	////////////////////////////////////////////////////////////­////////////////////////////////////////////////////////////­////////////////////////////////////////////////
	////////////////////////////////////////////////////////////­////////////////////////////////////////////////////////////­/////////////////////////////////////////////// 
	
	////Запрос на объкты 1С где IDSQL > 0	
	
	ЗапросБольше = Новый Запрос;
	ЗапросБольше.Текст = 
	"ВЫБРАТЬ
	|	ВидСобытия.Код КАК Код,
	|	ВидСобытия.Наименование КАК Наименование,
	|	ВидСобытия.Публиковать КАК Публиковать,
	|	ВидСобытия.Отредактировано КАК Отредактировано,
	|	ВидСобытия.Автор КАК Автор,
	|	ВидСобытия.Ответственный КАК Ответственный,
	|	ВидСобытия.Проверено КАК Проверено,
	|	ВидСобытия.GPT КАК GPT,
	|	ВидСобытия.Типограф КАК Типограф,
	|	ВидСобытия.Комментарий КАК Комментарий
	|ИЗ
	|	Справочник.ВидСобытия КАК ВидСобытия
	|ГДЕ
	|	ВидСобытия.IDSQL > 0"; 
	
	ВыборкаБольше = ЗапросБольше.Выполнить().Выбрать();
	
	Попытка 
		
		Пока ВыборкаБольше.Следующий() Цикл 	
			
			Соединение.Execute("DECLARE Sum INT
			|	SET Sum = 1
			|	WHILE Sum > 0 DO
			|	UPD ATE Events_Types SET
			|	Title = '"+ВыборкаБольше.Наименование+"',
			|	Responsible = '"+ВыборкаБольше.Ответственный+"',
			|	Creator = '"+ВыборкаБольше.Автор+"',
			|	Publish = '"+Число(ВыборкаБольше.Публиковать)+"',
			|	GPT = '"+Число(ВыборкаБольше.GPT)+"',
			|	Edited = '"+Число(ВыборкаБольше.Отредактировано)+"',
			|	Printer ='"+Число(ВыборкаБольше.Типограф)+"',
			|	Verified = '"+Число(ВыборкаБольше.Проверено)+" 
			|	SE T Sum=Sum+1;
			|	END WHILE");  
			
		КонецЦикла;
		
		Сообщить("Данные обновлены!");
		
	Исключение
		Сообщить(ОписаниеОшибки());
	КонецПопытки;    
	
	////////////////////////////////////////////////////////////­////////////////////////////////////////////////////////////­////////////////////////////////////////////////
	////////////////////////////////////////////////////////////­////////////////////////////////////////////////////////////­/////////////////////////////////////////////// 
	
	//Читаем записи
	ТекстИнструкции = "SEL ECT ID, ID1C FR OM Events_Types";
	
	Попытка
		
		Команда.CommandText = ТекстИнструкции;
		ВыборкаExecute = Команда.Execute();   
		
		// Создаем таблицаЗначений		
		
		ТаблицаЗначенийSQL = Новый ТаблицаЗначений;  
		ТаблицаЗначенийSQL.Колонки.Добавить("Код");
		ТаблицаЗначенийSQL.Колонки.Добавить("IDSQL");
		
		//Заполняем колонки = (Код, IDSQL);
		
		Если ВыборкаExecute.BOF = Ложь Тогда
			
			ВыборкаExecute.MoveFirst();
			
			Пока ВыборкаExecute.EOF = Ложь Цикл
				
				НоваяСтрока = ТаблицаЗначенийSQL.Добавить();
				
				НоваяСтрока.Код = Число(ВыборкаExecute.Fields("ID1C").Value);
				НоваяСтрока.IDSQL = Число(ВыборкаExecute.Fields("ID").Val ue);
				
				ВыборкаExecute.MoveNext();
				
			КонецЦикла;
			
		КонецЕсли;
		
		Запрос = Новый Запрос;
		Запрос.Текст = 
		"ВЫБРАТЬ
		|	ВидСобытия.Ссылка КАК Ссылка,
		|	ВидСобытия.IDSQL КАК IDSQL
		|ИЗ
		|	Справочник.ВидСобытия КАК ВидСобытия";
		
		РезультатЗапроса = Запрос.Выполнить();	
		ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();     
		
		СЧ = 0;
		
		Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
			
			ИзменяемыйОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();    
			
			ИзменяемыйОбъект.IDSQL = ТаблицаЗначенийSQL[СЧ].IDSQL;
			ИзменяемыйОбъект.Записать();
			
			СЧ = СЧ +1;
			
		КонецЦикла;
		
		Сообщить("IDSQL записан!");
		
	Исключение
		Сообщить(ОписаниеОшибки());
	КонецПопытки;
Показать


Вот весь мой код, не судите строго, с БД из 1с никогда не работал и понимаю, что не оптимально так использовать
Оставьте свое сообщение
Вакансии
Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 130 000 руб. до 170 000 руб.
Полный день

Программист 1C
Санкт-Петербург
зарплата от 140 000 руб. до 200 000 руб.
Полный день