arefaste/1C_Forums huggingface dataset:
описание числа (15.2) в таблице значений
Теги: 1С

описание числа (15.2) в таблице значений

# Код реализации

```1c
Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2))
```

# Примечания

- Если есть БСП, лучше использовать ОбщийМодуль.ОбщегоНазначения.ОписаниеТипаЧисло(15, 2)
ПрочитатьXMLВТаблицу
Теги: 1С,XML

Преобразует текст формата XML в таблицу значений,  при этом колонки таблицы формируются на основе описания в XML.

# Код реализации

```1c
// Преобразует текст формата XML в таблицу значений,
// при этом колонки таблицы формируются на основе описания в XML.
//
// Параметры:
//  ТекстXML     - текст в формате XML.
//
// Схема XML:
//<?xml version="1.0" encoding="utf-8"?>
//<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
//  <xs:element name="Items">
//	<xs:complexType>
//	  <xs:sequence>
//		<xs:element maxOccurs="unbounded" name="Item">
//		  <xs:complexType>
//			<xs:attribute name="Code" type="xs:integer" use="required" />
//			<xs:attribute name="Name" type="xs:string" use="required" />
//			<xs:attribute name="Socr" type="xs:string" use="required" />
//			<xs:attribute name="Index" type="xs:string" use="required" />
//		  </xs:complexType>
//		</xs:element>
//	  </xs:sequence>
//	  <xs:attribute name="Description" type="xs:string" use="required" />
//	  <xs:attribute name="Columns" type="xs:string" use="required" />
//	</xs:complexType>
//  </xs:element>
//</xs:schema>
//
// Примеры XML-файлов см. в демонстрационной конфигурации.
//
// Пример использования:
//   КлассификаторТаблица = ПрочитатьXMLВТаблицу(РегистрыСведений.АдресныйКлассификатор.
//       ПолучитьМакет("КлассификаторАдресныхОбъектовРоссии").ПолучитьТекст());
//
// Возвращаемое значение:
//  ТаблицаЗначений.
//
Функция ПрочитатьXMLВТаблицу(ТекстXML) Экспорт

	Чтение = Новый ЧтениеXML;
	Чтение.УстановитьСтроку(ТекстXML);

	// Прочитаем первый узел и проверим его
	Если Не Чтение.Прочитать() Тогда
		ВызватьИсключение("Пустой XML");
	ИначеЕсли Чтение.Имя <> "Items" Тогда
		ВызватьИсключение("Ошибка в структуре XML");
	КонецЕсли;

	// Получим описание таблицы и создадим ее
	ИмяТаблицы = Чтение.ПолучитьАтрибут("Description");
	ИменаКолонок = СтрЗаменить(Чтение.ПолучитьАтрибут("Columns"), ",", Символы.ПС);
	Колонок = СтрЧислоСтрок(ИменаКолонок);

	ТаблицаЗначений = Новый ТаблицаЗначений;
	Для Сч = 1 По Колонок Цикл
		ТаблицаЗначений.Колонки.Добавить(СтрПолучитьСтроку(ИменаКолонок, Сч), Новый ОписаниеТипов("Строка"));
	КонецЦикла;

	// Заполним значения в таблице
	Пока Чтение.Прочитать() Цикл

		Если Чтение.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда
			Продолжить;
		ИначеЕсли Чтение.Имя <> "Item" Тогда
			ВызватьИсключение("Ошибка в структуре XML");
		КонецЕсли;

		новСтр = ТаблицаЗначений.Добавить();
		Для Сч = 1 По Колонок Цикл
			ИмяКолонки = СтрПолучитьСтроку(ИменаКолонок, Сч);
			новСтр[Сч-1] = Чтение.ПолучитьАтрибут(ИмяКолонки);
		КонецЦикла;

	КонецЦикла;

	// Заполним результат
	Результат = Новый Структура;
	Результат.Вставить("ИмяТаблицы", ИмяТаблицы);
	Результат.Вставить("Данные", ТаблицаЗначений);

	Возврат Результат;

КонецФункции // ПрочитатьXMLВТаблицу()
```
ЗаполнитьМассивУникальнымиЗначениями
Теги: 1С,Коллекции

Заполняет массив-приемник уникальными значениями из массива-источника.

# Код реализации

```1c
// Заполняет массив-приемник уникальными значениями из массива-источника.
// Если элемент в массиве-приемнике уже существует, то добавления нового элемента не происходит.
//
// Параметры:
//  МассивПриемник – Массив – массив, который заполняется уникальными значениями
//  МассивИсточник – Массив – массив, из которого подбираются элементы в массив-приемник.
//
Процедура ЗаполнитьМассивУникальнымиЗначениями(МассивПриемник, МассивИсточник) Экспорт

	Для Каждого Элемент Из МассивИсточник Цикл

		Если МассивПриемник.Найти(Элемент) = Неопределено Тогда

			МассивПриемник.Добавить(Элемент);

		КонецЕсли;

	КонецЦикла;

КонецПроцедуры
```
ДобавитьИтераторТаблице
Теги: 1С

Добавляет колонку в таблицу значений. Заполняет колонку переданным значением

# Код реализации

```1c
// Добавляет колонку в таблицу значений. Заполняет колонку переданным значением
//
// Параметры:
//  Таблица           - ТаблицаЗначений - таблица значений для добавления колонки
//  ЗначениеИтератора - Произвольный - значение, которым будет заполнено новое поле таблицы
//  ИмяПоляИтератора  - Строка - имя добавляемого поля
//
Процедура ДобавитьИтераторТаблице(Таблица, ЗначениеИтератора, ИмяПоляИтератора) Экспорт

	Таблица.Колонки.Добавить(ИмяПоляИтератора);

	Таблица.ЗаполнитьЗначения(ЗначениеИтератора, ИмяПоляИтератора);

КонецПроцедуры
```
ТаблицаЗначенийВМассив
Теги: 1С,Коллекции

Преобразует таблицу значений в массив.

# Код реализации

```1c
//	Преобразует таблицу значений в массив.
//	Может использоваться для передачи на клиента данных, полученных
//	на сервере в виде таблицы значений в том случае, если таблица
//	значений содержит только такие значения, которые могут  быть переданы на клиента
//
//	Полученный массив содержит структуры, каждая из которых повторяет
//	структуру колонок таблицы значений.
//
//	Не рекомендуется использовать для преобразования таблиц значений
//	с большим количеством строк.
//
//	Параметры: ТаблицаЗначений
//	Возвращаемое значение: Массив
//
Функция ТаблицаЗначенийВМассив(ТаблицаЗначений) Экспорт

	Массив = Новый Массив();
	СтруктураСтрокой = "";
	НужнаЗапятая = Ложь;
	Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
		Если НужнаЗапятая Тогда
			СтруктураСтрокой = СтруктураСтрокой + ",";
		КонецЕсли;
		СтруктураСтрокой = СтруктураСтрокой + Колонка.Имя;
		НужнаЗапятая = Истина;
	КонецЦикла;
	Для Каждого Строка Из ТаблицаЗначений Цикл
		НоваяСтрока = Новый Структура(СтруктураСтрокой);
		ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
		Массив.Добавить(НоваяСтрока);
	КонецЦикла;
	Возврат Массив;

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

# Примечания

- Это функция из БСП, находится в ОбщегоНазначения.ТаблицаЗначенийВМассив(ТЗ);
Получить дату файла
Теги: 1С,Дата

Функция определяет дату последней модификации существующего файла на диске

# Код реализации

```1c
// Функция определяет дату последней модификации существующего файла на диске
// Параметры
//  ИмяФайла  – Строка, содержащая полный путь к файла на диске.
//
// Возвращаемое значение:
//   Дата – Дата последней модификации файла
//
Функция ПолучитьДатуФайла(Знач ИмяФайла) Экспорт

	Файл = Новый Файл(ИмяФайла);
	Возврат Файл.ПолучитьВремяИзменения();

КонецФункции
```
Получить имя файла
Теги: 1С

Составляет полное имя файла из имени каталога и имени файла

# Код реализации

```1c
// Составляет полное имя файла из имени каталога и имени файла.
//
// Параметры
//  ИмяКаталога  – Строка, содержащая путь к каталогу файла на диске.
//  ИмяФайла     – Строка, содержащая имя файла, без имени каталога.
//
// Возвращаемое значение:
//   Строка – полное имя файла с учетом каталога.
//
Функция ПолучитьИмяФайла(ИмяКаталога, ИмяФайла) Экспорт

	Если Не ПустаяСтрока(ИмяФайла) Тогда

		Возврат ИмяКаталога   ?(Прав(ИмяКаталога, 1) = "\", "", "\")   ИмяФайла;

	Иначе

		Возврат ИмяКаталога;

	КонецЕсли;

КонецФункции // ПолучитьИмяФайла()
```

# Примечания

- Не будет работать в Linux, нужно использовать ПолучитьРазделительПутиКлиента().