Публикации

БСП
Разработки

Найдено результатов: 793


Запрос с нумерацией строк

хитрый запрос с нумерацией строк
Юрий 6 1
ВЫБРАТЬ
	                 |	ШтрихкодыНоменклатуры.Штрихкод,
	                 |	ШтрихкодыНоменклатуры.Номенклатура,
	                 |	ШтрихкодыНоменклатуры.Характеристика,
	                 |	ШтрихкодыНоменклатуры.Упаковка
	                 |ПОМЕСТИТЬ Нач
	                 |ИЗ
	                 |	РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
	                 |;
	                 |
	                 |////////////////////////////////////////////////////////////////////////////////
	                 |ВЫБРАТЬ
	                 |	Нач.Штрихкод,
	                 |	КОЛИЧЕСТВО(Нач1.Штрихкод) КАК ПорядковыйНомер
	                 |ИЗ
	                 |	Нач КАК Нач
	                 |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Нач КАК Нач1
	                 |		ПО Нач.Штрихкод >= Нач1.Штрихкод
	                 |
	                 |СГРУППИРОВАТЬ ПО
	                 |	Нач.Штрихкод
	                 |
	                 |УПОРЯДОЧИТЬ ПО
	                 |	ПорядковыйНомер

ЗапросСписок

ОбщийМодуль.АсинхронноеПолучениеДанныхСловарь
Автор: 1С
Функция ЗапросСписок() Экспорт
	
	Возврат "list";
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ВыполнитьЗапрос

ОбщийМодуль.КаталогРасширений
Автор: 1С
Процедура ВыполнитьЗапрос(ПараметрыЗапроса, АдресХранилищаРезультат, НаименованиеМетода) Экспорт 
	
	КодОтвета = Неопределено;
	
	Попытка
		ОтправитьЗапросВМС(ПараметрыЗапроса, АдресХранилищаРезультат, НаименованиеМетода, КодОтвета);
	Исключение
		
		ЗаписьЖурналаРегистрации(НСтр("ru = 'КаталогРасширений.ПолучениеДанныхИзМС'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки());
		ТекстСообщения = СтрШаблон(НСтр("ru = 'Не удалось получить данные. Код ответа: %1'"), КодОтвета);
		
		ДанныеОтвета = Новый Структура;
		ДанныеОтвета.Вставить("success", Ложь);
		ДанныеОтвета.Вставить("error", Новый Структура("code, msg", КодОтвета, ТекстСообщения));
		
		ПоместитьВоВременноеХранилище(ДанныеОтвета, АдресХранилищаРезультат);
		
	КонецПопытки;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ПараметрыЗапроса

ОбщийМодуль.КаталогРасширенийПовтИсп
Автор: 1С
Функция ПараметрыЗапроса() Экспорт 
	
	УстановитьПривилегированныйРежим(Истина);
	
	ПараметрыЗапроса = Новый Структура;
	ПараметрыЗапроса.Вставить("method", "");
	ПараметрыЗапроса.Вставить("version", 3);
	ПараметрыЗапроса.Вставить("realmid", Константы.КлючОбластиДанных.Получить());
	ПараметрыЗапроса.Вставить("userid", Строка(Пользователи.ТекущийПользователь().ИдентификаторПользователяСервиса));
	
	Возврат ПараметрыЗапроса;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ПодготовитьHTTPЗапрос

ОбщийМодуль.ОтправкаSMS
Автор: 1С
Функция ПодготовитьHTTPЗапрос(АдресРесурса, ПараметрыЗапроса, ПоместитьПараметрыВТелоЗапроса = Истина) Экспорт
	
	Заголовки = Новый Соответствие;
	
	Если ПоместитьПараметрыВТелоЗапроса Тогда
		Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
	КонецЕсли;
	
	НастройкиОтправкиSMS = НастройкиОтправкиSMS();
	Если НастройкиОтправкиSMS.СпособАвторизации = "ПоКлючу" Тогда
		Заголовки.Вставить("Authorization", "Bearer" + " " + НастройкиОтправкиSMS.Пароль);
	КонецЕсли;
	
	Если ТипЗнч(ПараметрыЗапроса) = Тип("Строка") Тогда
		СтрокаПараметров = ПараметрыЗапроса;
	Иначе
		СписокПараметров = Новый Массив;
		Для Каждого Параметр Из ПараметрыЗапроса Цикл
			Значения = Параметр.Значение;
			Если ТипЗнч(Параметр.Значение) <> Тип("Массив") Тогда
				Значения = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Параметр.Значение);
			КонецЕсли;
			
			Для Каждого Значение Из Значения Цикл
				СписокПараметров.Добавить(Параметр.Ключ + "=" + КодироватьСтроку(Значение, СпособКодированияСтроки.КодировкаURL));
			КонецЦикла;
		КонецЦикла;
		СтрокаПараметров = СтрСоединить(СписокПараметров, "&");
	КонецЕсли;
	
	Если Не ПоместитьПараметрыВТелоЗапроса Тогда
		АдресРесурса = АдресРесурса + "?" + СтрокаПараметров;
	КонецЕсли;

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

КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Запрос в SQL базу

Получение результата запроса из SQL в таблицу значений
ChOP 27 5
// Возвращает результат запроса в таблице значений.
//
// Параметры:
//  Connection	 - COMОбъект("ADODB.Connection"), коннект к бд (необязательный).
//  SQLText      - текст, текст запроса.
//  ДанныеДляПодключения - структура, формируется в СоздатьДанныеДляПодключения() (необязательный).
//
Функция ПолучитьРезультатЗапроса(SQLText, ДанныеДляПодключения = Неопределено, Connection = Неопределено) Экспорт
	
	Если Connection = Неопределено Тогда
		Connection = НовоеСоединениеССУБД(ДанныеДляПодключения);
	КонецЕсли;
	
	RecordSet                = Новый ComObject("ADODB.RecordSet");
	RecordSet.CursorLocation = 3;
	RecordSet.LockType       = 3;
	
	Попытка
		
		RecordSet.Open(SQLText, Connection);
		
		ТЗ = Новый ТаблицаЗначений;
		КоличествоПолей = RecordSet.Fields.Count;
		
		Для НомерСтолбца = 0 По КоличествоПолей - 1 Цикл // Создание и добавление колонок во временную таблицу
			
			ИмяСтолбца = RecordSet.Fields.Item(НомерСтолбца).Name;
			ТЗ.Колонки.Добавить(RecordSet.Fields.Item(НомерСтолбца).Name, SQLТипВ1СТип(RecordSet.Fields.Item(НомерСтолбца).Type, RecordSet.Fields.Item(НомерСтолбца).DefinedSize));
			
		КонецЦикла;
		
		Пока НЕ RecordSet.EOF Цикл // Заполнение созданной таблицы
			
			НоваяСтрока = ТЗ.Добавить();
			
			Для ПолеСч = 0 По КоличествоПолей - 1 Цикл
				
				Поле = RecordSet.Fields.item(ПолеСч);
				НоваяСтрока[Поле.name] = Поле.Value;
				
			КонецЦикла;
			
			RecordSet.MoveNext();
			
		КонецЦикла;
		
		RecordSet.Close();
		
	Исключение
		
		ЗаписьЖурналаРегистрации(НСтр("ru = 'Запрос в SQL базу " + ДанныеДляПодключения.ИмяБД + "'"), УровеньЖурналаРегистрации.Ошибка, , , "Ошибка выполнения запроса: " + SQLText + Символы.ПС + ОписаниеОшибки());
		ТЗ = Неопределено; 
		
	КонецПопытки;
	
	Возврат ТЗ;
	
КонецФункции

Функция НовоеСоединениеССУБД(ДанныеДляПодключения) Экспорт 
	
	Con = Новый COMОбъект("ADODB.Connection");
	СтрокаПодключения = "Provider=SQLOLEDB; Data Source=" + ДанныеДляПодключения.АдресСервера + ";Initial Catalog=" 
	+ ДанныеДляПодключения.ИмяБД + ";Persist Security Info=True;User ID=" + ДанныеДляПодключения.Логин + ";Password=" + ДанныеДляПодключения.Пароль;
	
	Попытка
		
		Con.ConnectionTimeOut = 15;
		Con.CommandTimeout = 220;
		Con.Open(СтрокаПодключения);
		
	Исключение
		
		ЗаписьЖурналаРегистрации(НСтр("ru = 'Соединение с SQL базой " + ДанныеДляПодключения.ИмяБД + "'"), УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки());
		Con = Неопределено;
		
	КонецПопытки;
	Возврат Con;
	
КонецФункции

Функция SQLТипВ1СТип(Num, size)
	
	ПараметрыСтроки = Новый КвалификаторыСтроки(size);
	
	Если
		Num = 20 Тогда
		Возврат Новый ОписаниеТипов("Число");
	ИначеЕсли
		Num = 128 Тогда
		Возврат Новый ОписаниеТипов("Булево");
	ИначеЕсли
		Num = 8 Тогда
		Возврат Новый ОписаниеТипов("Строка", , , , ПараметрыСтроки);
	ИначеЕсли
		Num = 136 Тогда
		Возврат Новый ОписаниеТипов("Строка", , , , ПараметрыСтроки);
	ИначеЕсли
		Num = 129 Тогда
		Возврат Новый ОписаниеТипов("Строка", , , , ПараметрыСтроки);
	ИначеЕсли
		Num = 7 Тогда
		Возврат Новый ОписаниеТипов("Дата");
	ИначеЕсли
		Num = 133 Тогда
		Возврат Новый ОписаниеТипов("Дата");
	ИначеЕсли
		Num = 134 Тогда
		Возврат Новый ОписаниеТипов("Дата");
	ИначеЕсли
		Num = 135 Тогда
		Возврат Новый ОписаниеТипов("Дата");
	ИначеЕсли
		Num = 14 Тогда
		Возврат Новый ОписаниеТипов("Число");
	ИначеЕсли
		Num = 0 Тогда
		Возврат Новый ОписаниеТипов("Строка,  , , , ПараметрыСтроки"); // adEmpty 0 no value
	ИначеЕсли
		Num = 3 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adInteger 3 4 - byte signed integer
	ИначеЕсли
		Num = 205 Тогда
		Возврат Новый ОписаниеТипов("Строка,  , , , ПараметрыСтроки"); // adLongVarBinary 205 Long binary value
	ИначеЕсли
		Num = 201 Тогда
		Возврат Новый ОписаниеТипов("Строка,  , , , ПараметрыСтроки"); // adLongVarChar 201 Long string value
	ИначеЕсли
		Num = 203 Тогда
		Возврат Новый ОписаниеТипов("Строка,  , , , ПараметрыСтроки"); // adLongVarWChar 203 Long Null - terminates string value
	ИначеЕсли
		Num = 131 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adNumeric 131 Number with fixed precision and scale
	ИначеЕсли
		Num = 5 Тогда
		Возврат Новый ОписаниеТипов("Число");
	ИначеЕсли
		Num = 4 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adSingle 4 Single - precision floating - point value
	ИначеЕсли
		Num = 2 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adSmallInt 2 2 - byte signed integer
	ИначеЕсли
		Num = 16 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adTinyInt 16 1 - byte signed integer
	ИначеЕсли
		Num = 21 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adUnsignedBigInt 21 8 - byte unsigned integer
	ИначеЕсли
		Num = 19 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adUnsignedInt 19 4 - byte unsigned integer
	ИначеЕсли
		Num = 18 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adUnsignedSmallInt 18 2 - byte unsigned integer
	ИначеЕсли
		Num = 17 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adUnsignedTinyInt 17 1 - byte unsigned integer
	ИначеЕсли
		Num = 132 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adUserDefined 132 User - defined variable
	ИначеЕсли
		Num = 204 Тогда
		Возврат Новый ОписаниеТипов("Строка", , , , ПараметрыСтроки); // adVarBinary 204 Binary value
	ИначеЕсли
		Num = 12 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adVariant 12 Automation variant
	ИначеЕсли
		Num = 139 Тогда
		Возврат Новый ОписаниеТипов("Число"); // adVarNumeric 139 Variable width exact numeric with signed scale
	ИначеЕсли
		Num = 202 Тогда
		Возврат Новый ОписаниеТипов("Строка", , , , ПараметрыСтроки); // adVarWChar 202 Null - terminated Unicode character string
	ИначеЕсли
		Num = 130 Тогда
		Возврат Новый ОписаниеТипов("Строка", , , , ПараметрыСтроки); // adWChar 130
	ИначеЕсли
		Num = 200 Тогда
		Возврат Новый ОписаниеТипов("Строка", , , , ПараметрыСтроки);
	Иначе
		Возврат Новый ОписаниеТипов("Строка");
	КонецЕсли;
	
КонецФункции

// Возвращает структуру с данными для НовоеСоединениеССУБД().
//
// Параметры:
//  АдресСервера	 - текст, адрес сервера.
//  ИмяБД      - текст, текст имя базы данных.
//  Логин - текст, логин.
//  Пароль - текст, пароль.
//
Функция СоздатьДанныеДляПодключения(АдресСервера, ИмяБД, Логин, Пароль) Экспорт
	
	ДанныеДляПодключения = Новый Структура("АдресСервера, ИмяБД, Логин, Пароль", АдресСервера, ИмяБД, Логин, Пароль);
	Возврат ДанныеДляПодключения;
	
КонецФункции

РазделительПакетаЗапросов

Возвращает фрагмент текста запроса, отделяющего один запрос от другого.
ОбщийМодуль.ОбщегоНазначения
Автор: 1С
// Возвращает фрагмент текста запроса, отделяющего один запрос от другого.
//
// Возвращаемое значение:
//  Строка - разделитель запросов.
//
Функция РазделительПакетаЗапросов() Экспорт
	
	Возврат "
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|";
		
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ЗапросВСтрокуXML

Выгружает запрос в строку XML, которую можно вставить в Консоль запросов.
ОбщийМодуль.ОбщегоНазначения
Автор: 1С
// Выгружает запрос в строку XML, которую можно вставить в Консоль запросов.
//   Для переноса запроса и всех его параметров в Консоль запросов, необходимо вызвать функцию в окне.
//   «Вычислить выражение»(Shift + F9), скопировать полученный XML в поле "Текст запроса"
//   консоли запросов и выполнить команду "Заполнить из XML" из меню "Еще".
//   Подробнее об использование функции смотрите в справке к консоли запросов.
//
// Параметры:
//   Запрос - Запрос - Запрос, который необходимо выгрузить в формат строки XML.
//
// Возвращаемое значение:
//   Строка - строка в формате XML, которую можно извлечь при помощи метода "ОбщегоНазначения.ЗначениеИзСтрокиXML".
//       После извлечения получится объект типа "Структура" с полями:
//       * Текст     - Строка - Текст запроса.
//       * Параметры - Структура - Параметры запроса.
//
Функция ЗапросВСтрокуXML(Запрос) Экспорт
	Структура = Новый Структура("Текст, Параметры");
	ЗаполнитьЗначенияСвойств(Структура, Запрос);
	Возврат ЗначениеВСтрокуXML(Структура);
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ПрефиксВерсииЗапроса

ОбщийМодуль.АдресныйКлассификаторСлужебный
Автор: 1С
Функция ПрефиксВерсииЗапроса() Экспорт
	Возврат "rest/v2/";
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

ПакетПрименяемыхЗапросов

ОбщийМодуль.РаботаВБезопасномРежимеСлужебныйВМоделиСервиса
Автор: 1С
Функция ПакетПрименяемыхЗапросов(Знач Состояние) Экспорт
	
	Если ОбщегоНазначения.РазделениеВключено() Тогда
		Регистр = РегистрыСведений.ПрименениеРазрешенийНаИспользованиеВнешнихРесурсовОбластейДанных;
	Иначе
		Регистр = РегистрыСведений.ПрименениеРазрешенийНаИспользованиеВнешнихРесурсовВМоделиСервиса;
	КонецЕсли;
	
	Менеджер = Регистр.СоздатьМенеджерЗаписи();
	Менеджер.ИдентификаторПакета = Новый УникальныйИдентификатор();
	Менеджер.Состояние = Состояние;
	
	Менеджер.Записать();
	
	Возврат Менеджер.ИдентификаторПакета;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

GET-запрос к HTTP-серверу

GET-запрос к HTTP-серверу
stawen 53 3 1
Заголовки=Новый Соответствие();
Заголовки.Вставить("Content-Type","application/xml");
Заголовки.Вставить("Accept","application/xml");

Запрос=Новый HTTPЗапрос();
Запрос.АдресРесурса="clients/list";
Запрос.Заголовки=Заголовки;

Соединение=Новый HTTPСоединение("api.yourserver.ru");//таким образом полный URL запроса http://api.yourserver.ru/clients/list
Ответ=Соединение.Получить(Запрос);
КодСостояния=Ответ.КодСостояния;
СтрокаОтвета=Ответ.ПолучитьТелоКакСтроку();	

Если КодСостояния=200 тогда
	ЧтениеXML=Новый ЧтениеXML;
	ЧтениеXML.УстановитьСтроку(СтрокаОтвета);
	Попытка
		КонтрагентыСписокXDTO=ФабрикаXDTO.ПрочитатьXML(ЧтениеXML,ФабрикаXDTO.Тип("http://api.yourserver.ru/xdto","ClientList"));
	Исключение
		Сообщить(СформироватьСообщениеОбОшибке(ИнформацияОбОшибке()));
		Предупреждение("Сервер прислал плохие данные!");
		Возврат;
	КонецПопытки;
	//обработка объекта XDTO	
Иначе
	//обработка ошибочных кодов
КонецЕсли;

Выгрузка запроса в XML. Выгрузка объекта

chugindanil 16 1
&НаСервере
Процедура КомандаВыполнитьНаСервере()
	
	ИмяФайла = "d:\test.xml";
	
	Запрос = Новый Запрос("ВЫБРАТЬ
	| Номенклатура.Код КАК Код,
	| Номенклатура.Наименование КАК Наименование,
	| Номенклатура.Артикул КАК Артикул,
	| Номенклатура.Ссылка КАК Номенклатура
	|ИЗ
	| Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	| Номенклатура.ЭтоГруппа = ЛОЖЬ");
	
	ЗаписьXML = Новый ЗаписьXML;
	ЗаписьXML.ОткрытьФайл(ИмяФайла,"UTF-8");
	
	ВыборкаРезультата = Запрос.Выполнить().Выгрузить(); 
	ЗаписьXML.ЗаписатьНачалоЭлемента("Номенклатура");
	Для каждого Выборка Из ВыборкаРезультата Цикл
		ЗаписатьXML(ЗаписьXML, Выборка.Номенклатура.ПолучитьОбъект());           
	КонецЦикла;
	ЗаписьXML.ЗаписатьКонецЭлемента();
	ЗаписьXML.Закрыть();
	
КонецПроцедуры

POST-запрос к HTTP-серверу

POST-запрос к HTTP-серверу
stawen 53 3 1
ЗаписьXML=Новый ЗаписьXML(); 
ЗаписьXML.УстановитьСтроку("UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();
Фабрика.ЗаписатьXML(ЗаписьXML, КонтрагентXDTO);//объект XDTO создан и заполнен ранее 

Заголовки=Новый Соответствие();
Заголовки.Вставить("Content-Type","application/xml");
Заголовки.Вставить("Accept","application/xml");

Запрос=Новый HTTPЗапрос();
Запрос.АдресРесурса="clients/add";
Запрос.Заголовки=Заголовки;
Запрос.УстановитьТелоИзСтроки(ЗаписьXML.Закрыть());

Соединение=Новый HTTPСоединение("api.yourserver.ru");//таким образом полный URL запроса http://api.yourserver.ru/clients/add
Ответ=Соединение.ОтправитьДляОбработки(Запрос);
КодСостояния=Ответ.КодСостояния;
СтрокаОтвета=Ответ.ПолучитьТелоКакСтроку();
Если КодСостояния=201 тогда
	ЧтениеXML=Новый ЧтениеXML;
	ЧтениеXML.УстановитьСтроку(СтрокаОтвета);
	Попытка
		СтатусРаботыXDTO=Фабрика.ПрочитатьXML(ЧтениеXML,ФабрикаXDTO.Тип("http://api.yourserver.ru/xdto","Status"));
	Исключение
		Сообщить(СформироватьСообщениеОбОшибке(ИнформацияОбОшибке()));
		Предупреждение("Сервер прислал плохие данные!");
		Возврат;
	КонецПопытки;
	//обработка объекта XDTO
Иначе
	//обработка ошибочных кодов
КонецЕсли;

Выбрать в запросе одну запись из нескольких

Имеется таблица, содержащая, например, колонки Ф, К1, К2, К3, К4. Для каждого значения Ф в таблице может быть несколько записей. t4.png Требуется получить таблицу, включающую по одной (любой) записи для каждого значения Ф. t5.png Несмотря на простоту форм...
FastCode 63 8

УдалитьИнформациюОЗапросеНаПодключение

Удаляет обработанные идентификаторы запросов.
ОбщийМодуль.ПодключениеСервисовСопровожденияВызовСервера
Автор: 1С
// Удаляет обработанные идентификаторы запросов.
//
// Параметры:
//  СервисСопровождения  - Справочник.ИдентификаторыСервисовСопровождения - сервис,
//                         для которого необходимо удалить запросы на подключение;
//  ИдентификаторЗапроса - Строка - идентификатор запроса который уже обработан.
//
Процедура УдалитьИнформациюОЗапросеНаПодключение(
		Знач СервисСопровождения,
		Знач ИдентификаторЗапроса) Экспорт
	
	Если Не ЗначениеЗаполнено(ИдентификаторЗапроса) Тогда
		Возврат;
	КонецЕсли;
	
	ПодключениеСервисовСопровождения.УдалитьИнформациюОЗапросеНаПодключение(
		СервисСопровождения,
		ИдентификаторЗапроса);
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

УдалитьИнформациюОЗапросеНаПодключение

Удаляет обработанные идентификаторы запросов.
ОбщийМодуль.ПодключениеСервисовСопровождения
Автор: 1С
// Удаляет обработанные идентификаторы запросов.
//
// Параметры:
//  СервисСопровождения  - Справочник.ИдентификаторыСервисовСопровождения - сервис,
//                         для которого необходимо удалить запросы на подключение;
//  ИдентификаторЗапроса - Строка - идентификатор запроса который уже обработан.
//
Процедура УдалитьИнформациюОЗапросеНаПодключение(СервисСопровождения, ИдентификаторЗапроса) Экспорт
	
	Если Не РазрешеноПодключениеТестовыхПериодов() Тогда
		ВызватьИсключение НСтр("ru = 'Подключение тестового периода недоступно.'");
	КонецЕсли;
	
	ИдентификаторыЗапросовНабор = РегистрыСведений.ИдентификаторыЗапросовНаПодключение.СоздатьНаборЗаписей();
	ИдентификаторыЗапросовНабор.Отбор.ИдентификаторСервисаСопровождения.Установить(СервисСопровождения);
	ИдентификаторыЗапросовНабор.Отбор.Идентификатор.Установить(ИдентификаторЗапроса);
	ИдентификаторыЗапросовНабор.Записать();
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

УдалитьЗапросы

Удаляет запросы на использование внешних ресурсов.
ОбщийМодуль.РаботаВБезопасномРежимеСлужебныйВМоделиСервиса
Автор: 1С
// Удаляет запросы на использование внешних ресурсов.
//
// Параметры:
//  ИдентификаторыЗапросов - Массив(УникальныйИдентификатор) - идентификаторы удаляемых запросов.
//
Процедура УдалитьЗапросы(Знач ИдентификаторыЗапросов) Экспорт
	
	Если ОбщегоНазначения.РазделениеВключено() Тогда
		Регистр = РегистрыСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсовОбластейДанных;
	Иначе
		Регистр = РегистрыСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсовВМоделиСервиса;
	КонецЕсли;
	
	НачатьТранзакцию();
	
	Попытка
		
		Для Каждого ИдентификаторЗапроса Из ИдентификаторыЗапросов Цикл
			
			Менеджер = Регистр.СоздатьМенеджерЗаписи();
			Менеджер.ИдентификаторЗапроса = ИдентификаторЗапроса;
			Менеджер.Удалить();
			
		КонецЦикла;
		
		ЗафиксироватьТранзакцию();
		
	Исключение
		
		ОтменитьТранзакцию();
		ВызватьИсключение;
		
	КонецПопытки;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

СохранитьЗапросНаСертификат

Сохраняет запрос на сертификат в файл на диск.
ОбщийМодуль.ЭлектроннаяПодписьСлужебныйКлиент
Автор: 1С
// Сохраняет запрос на сертификат в файл на диск.
// 
// Параметры:
//   Оповещение - ОписаниеОповещения - вызывается после сохранения.
//              - Неопределено - продолжение не требуется.
//
//   ЗапросНаСертификат    - ДвоичныеДанные - данные запроса на сертификат.
//                         - Строка - адрес временного хранилища, содержащего данные запроса на сертификат.
//   ИмяФайлаБезРасширения - Строка - начальное имя файла без расширения.
//
Процедура СохранитьЗапросНаСертификат(Оповещение, ЗапросНаСертификат, ИмяФайлаБезРасширения = "") Экспорт
	
	ИмяФайла = ПодготовитьСтрокуДляИмениФайла(ИмяФайлаБезРасширения + ".p10");
	ОповещениеОСохранении = Новый ОписаниеОповещения("СохранитьЗапросНаСертификатПослеПолученияФайлов", ЭтотОбъект, Оповещение);
	
	ПараметрыСохранения = ФайловаяСистемаКлиент.ПараметрыСохраненияФайла();
	ПараметрыСохранения.Диалог.Заголовок = НСтр("ru = 'Выберите файл для сохранения запроса на сертификат'");
	ПараметрыСохранения.Диалог.Фильтр    = НСтр("ru = 'Файлы сертификатов (*.p10)|*.p10|Все файлы (*.*)|*.*'");
	
	Если ТипЗнч(ЗапросНаСертификат) = Тип("ДвоичныеДанные") Тогда
		ФайловаяСистемаКлиент.СохранитьФайл(ОповещениеОСохранении, 
			ПоместитьВоВременноеХранилище(ЗапросНаСертификат, Новый УникальныйИдентификатор), ИмяФайла, ПараметрыСохранения);
	ИначеЕсли ТипЗнч(ЗапросНаСертификат) = Тип("Строка")
		И ЭтоАдресВременногоХранилища(ЗапросНаСертификат) Тогда
		
		ФайловаяСистемаКлиент.СохранитьФайл(ОповещениеОСохранении, ЗапросНаСертификат, ИмяФайла, ПараметрыСохранения);
		
	Иначе
		Если Оповещение <> Неопределено Тогда
			ВыполнитьОбработкуОповещения(Оповещение, Ложь);
		КонецЕсли;
		Возврат;
	КонецЕсли;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Поместить таблицу в запрос

Процедура помещает Таблицу значений во временную таблицу Запроса
SDV 34 7
// Процедура - Поместить таблицу в запрос
// Зависит от ТипизированнаяТаблицаЗначений() https://fastcode.im/Templates/6734
// Параметры:
//  Запрос		 - Запрос 
//  Таблица		 - ТаблицаЗначений
//  ИмяТаблицы	 - Строка - Имя временной таблицы в Запросе
//
Процедура ПоместитьТаблицуВЗапрос(Запрос, Таблица, ИмяТаблицы)
	ТипизированнаяТаблица = ТипизированнаяТаблицаЗначений(Таблица);
	ИсходныйТекстЗапроса = Запрос.Текст;
	Запрос.Текст = "Выбрать * Поместить " + ИмяТаблицы + " Из &" + ИмяТаблицы + " как " + ИмяТаблицы;
	Если Запрос.МенеджерВременныхТаблиц = Неопределено Тогда
		Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	КонецЕсли;
	Если Запрос.Параметры.Свойство(ИмяТаблицы) Тогда
		_Параметр =  Запрос.Параметры.ИмяТаблицы;
		Запрос.УстановитьПараметр(ИмяТаблицы, ТипизированнаяТаблица);
		Запрос.Выполнить();
		Запрос.УстановитьПараметр(ИмяТаблицы, _Параметр);
	Иначе
		Запрос.УстановитьПараметр(ИмяТаблицы, ТипизированнаяТаблица);
		Запрос.Выполнить();
		Запрос.Параметры.Удалить(ИмяТаблицы);
	КонецЕсли;
	Запрос.Текст = ИсходныйТекстЗапроса;
КонецПроцедуры

Передача таблицы значений в запрос

Передача таблицы значений в запрос. В качестве внешнего источника могут выступать: Таблица значений, Табличная часть, Результат запроса.
prog1c 44 1 5
Товары = Новый ТаблицаЗначений;	
Товары.Колонки.Добавить("Наименование");	
Товары.Колонки.Добавить("Количество");

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
			   |	ВнешнийИсточник.Наименование,
			   |	ВнешнийИсточник.Количество
			   |ПОМЕСТИТЬ ВТ_ВнешнийИсточник
			   |ИЗ
			   |	&ВнешнийИсточник КАК ВнешнийИсточник
			   |;
			   |
			   |////////////////////////////////////////////////////////////////////////////////
			   |ВЫБРАТЬ
			   |	ВТ_ВнешнийИсточник.Наименование,
			   |	ВТ_ВнешнийИсточник.Количество КАК Количество
			   |ИЗ
			   |	ВТ_ВнешнийИсточник КАК ВТ_ВнешнийИсточник
			   |ГДЕ
			   |	ВТ_ВнешнийИсточник.Количество > 0
			   |
			   |УПОРЯДОЧИТЬ ПО
			   |	Количество";

Запрос.УстановитьПараметр("ВнешнийИсточник", Товары);			   
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.Следующий() Цикл
	
	// Обработка данных
	
КонецЦикла;