2017-02-07T13:49:51+00:00
/// Пример работы с xml в 1с 8.3, 8.2 Процедура Пример_Работа_С_XML() // запись XML XML = Новый ЗаписьXML; XML.ОткрытьФайл("d:\Базы 1С\Data.xml"); XML.ЗаписатьОбъявлениеXML(); XML.ЗаписатьНачалоЭлемента("Корень"); XML.ЗаписатьНачалоЭлемента("Город"); XML.ЗаписатьНачалоАтрибута("Название"); XML.ЗаписатьТекст("Хабаровск"); XML.ЗаписатьКонецАтрибута(); XML.ЗаписатьНачалоАтрибута("Численность"); XML.ЗаписатьТекст("600000"); XML.ЗаписатьКонецАтрибута(); XML.ЗаписатьКонецЭлемента(); XML.ЗаписатьКонецЭлемента(); XML.Закрыть(); // чтение XML XML = Новый ЧтениеXML; XML.ОткрытьФайл("d:\Базы 1С\Data.xml"); Пока XML.Прочитать() Цикл Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда Сообщить("<" + XML.Имя + ">"); Пока XML.ПрочитатьАтрибут() Цикл Сообщить(XML.Имя + " = " + XML.Значение); КонецЦикла; КонецЕсли; Если XML.ТипУзла = ТипУзлаXML.Текст Тогда Сообщить(XML.Значение); КонецЕсли; Если XML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда Сообщить(""); КонецЕсли; КонецЦикла; XML.Закрыть(); КонецПроцедуры /// Пример работы с текстовым документом в 1с 8.3, 8.2 Процедура Пример_ТекстовыйДокумент() // создание и запись в текстовый документ Текст = Новый ТекстовыйДокумент; Текст.ДобавитьСтроку("Первая строка документа!"); Текст.ЗаменитьСтроку(1, "Замена первой строки!"); // нумерация с 1 Текст.ВставитьСтроку(2, "Вторая строка!"); Текст.Записать("Пример.txt", КодировкаТекста.ANSI, Символы.ПС); //Текст.Показать(); // откроет текст в редакторе // чтение текстового документа Текст = Новый ТекстовыйДокумент; Текст.Прочитать("Пример.txt", КодировкаТекста.ANSI, Символы.ПС); Для Номер = 1 По Текст.КоличествоСтрок() Цикл Сообщить(Текст.ПолучитьСтроку(Номер)); КонецЦикла; // как удалить строку из документа Текст.УдалитьСтроку(1); // как очистить текст Текст.Очистить(); КонецПроцедуры /// Как работать с zip архивами в 1с 8.3, 8.2 Процедура Пример_РаботыСZipАрхивами() // создание архива и добавление файла Архив = Новый ЗаписьZipФайла("C:\Архив.zip"); Архив.Добавить("c:\Документ.doc"); Архив.Записать(); // открытие и распаковка архива Архив = Новый ЧтениеZipФайла("C:\Архив.zip"); Архив.ИзвлечьВсе("C:\РаспакованныйАрхив"); КонецПроцедуры /// Как работать с хранилищем значения в 1с 8.3, 8.2 Процедура Пример_РаботыСХранилищемЗначения() // создадим хранилище для хранение картинки в базе МояКартинка = Новый Картинка("C:\Картинка.bmp"); ХранилищеКартинки = Новый ХранилищеЗначения(МояКартинка); // теперь мы можем сохранить это хранилище в одном из полей базы Номенклатура = Справочники.Номенклатура.СоздатьЭлемент(); Номенклатура.Наименование = "Стул"; Номенклатура.Изображение = ХранилищеКартинки; Номенклатура.Записать(); // затем, мы можем всегда извлечь его МояКартинка = ХранилищеКартинки.Получить(); КонецПроцедуры /// Как работать с двоичными данными в 1с 8.3, 8.2 Процедура Пример_РаботыСДвоичнымиДанными() Данные = Новый ДвоичныеДанные("c:\Картинка.png"); Сообщить(Данные.Размер()); // можно сохранить их в хранилище значений Данные.Записать("c:\binary_data"); КонецПроцедуры /// Как производить хеширование данных в 1с 8.3, 8.2 Процедура Пример_ХешированиеДанных() Хеш = Новый ХешированиеДанных(ХешФункция.CRC32); Хеш.ДобавитьФайл("c:\Картинка.png"); Сообщить(Хеш.ХешСумма); Хеш.ДобавитьФайл("c:\Документ.doc"); Сообщить(Хеш.ХешСумма); // Хеш.Добавить(ДвоичныеДанные); КонецПроцедуры /// Как сгенерировать случайное числе в 1с 8.3, 8.2 Процедура Пример_ГенераторСлучайныхЧисел() // инициализируем временем работы ОС ГСЧ = Новый ГенераторСлучайныхЧисел(); Сообщить(ГСЧ.СлучайноеЧисло(0, 1)); // инициализируем своим числом ГСЧ = Новый ГенераторСлучайныхЧисел(0); Сообщить(ГСЧ.СлучайноеЧисло(1, 100)); КонецПроцедуры /// Как показать сообщение пользователю с /// привязкой к элементу формы в 1с 8.3, 8.2 Процедура Пример_СообщениеПользователюСПривязкой() // Сообщение.КлючДанных = Ссылка на объект базы или ключ записи // Сообщение.ПутьКДанным = содержит путь в форме до объекта. // показываем сообщение из обработки // КлючДанных и ПутьКДанным - пустые Сообщение = Новый СообщениеПользователю; Сообщение.Поле = "Комментарий"; Сообщение.Текст = "Заполните комментарий"; Сообщение.Сообщить(); // показываем сообщение из документа // КлючДанных - пустой, ПутьКДанным заполнится автоматически Сообщение = Новый СообщениеПользователю; Сообщение.Поле = "Товары[0].Количество"; Сообщение.Текст = "Не заполнено количество товара в первой строке!"; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); КонецПроцедуры /// Как получить системную информацию в 1с 8.3, 8.2 Процедура Пример_ПолученияСистемнойИнформации() СисИнфо = Новый СистемнаяИнформация; // версия операционной системы Сообщить(СисИнфо.ВерсияОС); // версия приложения Сообщить(СисИнфо.ВерсияПриложения); // количество оперативной памяти Сообщить(СисИнфо.ОперативнаяПамять); // тип процессора Сообщить(СисИнфо.Процессор); // тип платформы Сообщить(СисИнфо.ТипПлатформы); КонецПроцедуры /// Как работать со списком пользователей в 1с 8.3, 8.2 Процедура Пример_РаботаСоСпискомПользователей() // как получить список пользователей Пользователи = ПользователиИнформационнойБазы. ПолучитьПользователей(); Для Каждого Пользователь Из Пользователи Цикл Сообщить(Пользователь.Имя); // перечислим роли пользователя Для Каждого Роль Из Пользователь.Роли Цикл Сообщить(" >>" + Роль); КонецЦикла; КонецЦикла; // как получить текущего пользователя Сообщить(ПользователиИнформационнойБазы.ТекущийПользователь()); // как создать нового пользователя Ползователь = ПользователиИнформационнойБазы.СоздатьПользователя(); Пользователь.Имя = "Васечкин А.В."; Пользователь.Пароль = "123"; Пользователь.Роли.Добавить(Метаданные.Роли.Администратор); //Пользователь.Записать(); // как найти пользователя по имени Пользователь = ПользователиИнформационнойБазы. НайтиПоИмени("Васечкин А.В."); // как удалить пользователя //Пользователь.Удалить(); // как узнать являюсь ли я администратором Сообщить( ПользователиИнформационнойБазы. ТекущийПользователь().Роли.Содержит( Метаданные.Роли.Администратор)); КонецПроцедуры |
2017-02-07T13:49:51+00:00