/// Как узнать имя текущего пользователя в 1с 8.3, 8.2
&НаКлиенте
Процедура КакУзнатьИмяТекущегоПользователя(Команда)
Сообщить(ИмяПользователя()); // Администратор
КонецПроцедуры
/// Как получить или изменить заголовок окна приложения в 1с 8.3, 8.2
&НаКлиенте
Процедура КакПолучитьИлиИзменитьЗаголовокОкна(Команда)
// заголовок в 1с состоит из двух частей: префикс (короткая часть)
// и сам заголовок (длинная часть)
Сообщить(
ПолучитьКраткийЗаголовокПриложения()
); // обычно пустой
Сообщить(
ПолучитьЗаголовокКлиентскогоПриложения()
); // название конфигурации, например Бухгалтерия предприятия
// сделаем такой заголовок - Ромашка.Бухгалтерия
УстановитьКраткийЗаголовокПриложения("Ромашка");
УстановитьЗаголовокКлиентскогоПриложения("Бухгалтерия");
КонецПроцедуры
/// Как узнать текущий вариант интерфейса в 1с 8.3, 8.2
&НаКлиенте
Процедура КакУзнатьТекущийВариантИнтерфейса(Команда)
Сообщить(
ТекущийВариантИнтерфейсаКлиентскогоПриложения()
); // например, Такси или Версия8_2
КонецПроцедуры
/// Как узнать текущий размер основного шрифта в 1с 8.3, 8.2
&НаКлиенте
Процедура КакУзнатьТекущийРазмерШрифта(Команда)
Сообщить(
ТекущийВариантОсновногоШрифтаКлиентскогоПриложения()
); // Крупный или Обычный
КонецПроцедуры
/// Как подключить или отключить обработчик ожидания
/// для управляемой формы в 1с 8.3, 8.2
&НаКлиенте
Процедура РаботаСОбработчикамиОжиданияФормы(Команда)
// подключаем, чтобы процедура СкажиПривет
// вызвалась через 3 секунды
// процедура СкажиПривет определена чуть ниже
ПодключитьОбработчикОжидания(
"СкажиПривет", // имя процедуры
3, // интервал в секундах
Истина // однократный вызов
);
// тут же отключаем
ОтключитьОбработчикОжидания("СкажиПривет");
КонецПроцедуры
&НаКлиенте
Процедура СкажиПривет()
Сообщить("Привет!");
КонецПроцедуры
/// Как подключить или отключить глобальный обработчик
/// оповещения в 1с 8.3, 8.2
&НаКлиенте
Процедура РаботаСГлобальнымиОбработчикамиОповещения(Команда)
// подключаем экспортируемую процедуру глОбработкаОповещение,
// которая определена в модуле управляемого приложения
// также можно располагать её в одном из общих модулей
ПодключитьОбработчикОповещения("глОбработкаОповещения");
// тут же проводим тест
Оповестить("Кошмар", "Монстр", Объект);
// и отключаем этот обработчик оповещения
ОтключитьОбработчикОповещения("глОбработкаОповещения");
КонецПроцедуры
/// Как узнать скорость клиентского соединения в 1с 8.3, 8.2
&НаКлиенте
Процедура КакУзнатьСкоростьСоединения(Команда)
Сообщить(
ПолучитьСкоростьКлиентскогоСоединения()
); // Низкая или Обычная
КонецПроцедуры
/// Как узнать текущий режим запуска в 1с 8.3, 8.2
&НаКлиенте
Процедура КакУзнатьТекущийРежимЗапуска(Команда)
Сообщить(
ТекущийРежимЗапуска()
); // Авто, ОбычноеПриложение или УправляемоеПриложение
// Неопределено, если внешнее соединение
КонецПроцедуры
/// Как узнать строку соединения инормационной базы в 1с 8.3, 8.2
&НаКлиенте
Процедура КакУзнатьСтрокуСоединенияСБазой(Команда)
// часто из неё можно вытащить полезную информацию
Сообщить(
СтрокаСоединенияИнформационнойБазы()
); // Например, File="D:\Bases\Пустая";
КонецПроцедуры
/// Как заблокировать работу пользователя в 1с 8.3, 8.2
&НаКлиенте
Процедура КакЗаблокироватьРаботуПользователя(Команда)
ЗаблокироватьРаботуПользователя();
КонецПроцедуры
/// Как завершить работу системы (вызывая обработчики
/// закрытия) в 1с 8.3, 8.2
&НаКлиенте
Процедура КакЗавершитьРаботуСистемы(Команда)
ЗавершитьРаботуСистемы(
Истина, // запрашивать возможность
Ложь, // (необ.) перезапустить после завершения
"" // (необ.) дополнительные параметры, если делается перезапуск
);
КонецПроцедуры
/// Как прекратить работу системы (не вызывая обработчики
/// закрытия) в 1с 8.3, 8.2
&НаКлиенте
Процедура КакПрекратитьРаботуСистемы(Команда)
ПрекратитьРаботуСистемы(
Ложь, // (необ.) перезапустить после завершения
"" // (необ.) дополнительные параметры, если делается перезапуск
);
КонецПроцедуры
/// Как запустить ещё один экземпляр 1С Предприятия в 1с 8.3, 8.2
&НаКлиенте
Процедура КакЗапуститьЕщёОдинЭкземпляр1С(Команда)
// выдаст ошибку в учебной версии, так как
// в ней нельзя запускать больше одного сеанса
ЗапуститьСистему(
"", // дополнительные параметры
Истина // дождаться завершения запущенной системы для продолжения
);
КонецПроцедуры
&НаКлиенте
Процедура РаботаСДатой(Команда)
РаботаСДатойНаСервере();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура РаботаСДатойНаСервере()
/// Как узнать часовой пояс сеанса в 1с 8.3, 8.2
Сообщить(
ЧасовойПоясСеанса()
); // например, Australia/Brisbane
/// Как узнать текущую дату сеанса в 1с 8.3, 8.2
Сообщить(
ТекущаяДатаСеанса()
); // например, 16.02.2017 10:32:59
КонецПроцедуры
&НаКлиенте
Процедура РаботаСПравамиИРолями(Команда)
РаботаСПравамиИРолямиНаСервере();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура РаботаСПравамиИРолямиНаСервере()
/// Как узнать есть ли право у текущего пользователя
/// применительно к объекту метаданных в 1с 8.3, 8.2
// Какие могут быть права: Чтение, Изменение , Добавление,
// Удаление, Проведение и т.д. (см. справку к функции
// ПравоДоступа в конфигураторе)
Если ПравоДоступа(
"Чтение", Метаданные.Справочники.Контрагенты
) Тогда
Сообщить("Доступ на чтение к данному справочнику открыт!");
КонецЕсли;
/// Как узнать включает ли определенная роль в себя
/// определенное право применительно к объекту
/// метаданных в 1с 8.3, 8.2
Если Не ПравоДоступа(
"Изменение", Метаданные.Справочники.Контрагенты,
Метаданные.Роли.Администратор
) Тогда
Сообщить("У роли Администратор нет прав на изменения справочника!");
КонецЕсли;
/// Как использовать функцию проверки прав для других пользователей
/// в 1с 8.3, 8.2
Пользователи = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого Пользователь Из Пользователи Цикл
Если ПравоДоступа(
"Чтение", Метаданные.Справочники.Контрагенты,
Пользователь
) Тогда
Сообщить("Доступ для " + Пользователь.Имя + " на чтение открыт!");
КонецЕсли;
КонецЦикла;
/// Как узнать включена ли определенная роль для
/// текущего пользователя в 1с 8.3, 8.2
Если РольДоступна("Администратор") Тогда
Сообщить("Приветствую тебя, Администратор!");
КонецЕсли;
/// Как проверить право у пользователя и в случае
/// его отсутствия вызвать исключение в 1с 8.3, 8.2
ВыполнитьПроверкуПравДоступа(
"Изменение",
Метаданные.Справочники.Контрагенты
); // Вызовет исключение "Нарушение прав доступа!"
КонецПроцедуры
&НаКлиенте
Процедура КакУзнатьПолноеИмяПользователя(Команда)
КакУзнатьПолноеИмяПользователяНаСервере();
КонецПроцедуры
/// Как узнать полное имя пользователя в 1с 8.3, 8.2
&НаСервереБезКонтекста
Процедура КакУзнатьПолноеИмяПользователяНаСервере()
Сообщить(
ПолноеИмяПользователя()
);
КонецПроцедуры
&НаКлиенте
Процедура РаботаСНастройкамиПользователей(Команда)
РаботаСНастройкамиПользователейНаСервере();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура РаботаСНастройкамиПользователейНаСервере()
/// Как сохранить произвольные настройки пользователя
/// в 1с 8.3, 8.2
// сохраним в настройках имя и фамилию
Настройки = Новый Структура;
Настройки.Вставить("Имя", "Владимир");
Настройки.Вставить("Фамилия", "Милькин");
Настройки.Вставить("Возраст", 31);
ХранилищеОбщихНастроек.Сохранить(
"Обработка.ТестированиеКода", // ключ объекта
"Автор", // ключ настроек
Настройки,
, // описание настроек
ИмяПользователя() // владелец настроек,
// если опустить, то настройки сохранятся
// для текущего пользователя
);
/// Как сохранить произвольные настройки для всех пользователей
/// в 1с 8.3, 8.2
Пользователи = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого Пользователь Из Пользователи Цикл
ХранилищеОбщихНастроек.Сохранить(
"Обработка.ТестированиеКода", // ключ объекта
"Автор", // ключ настроек
Настройки,
, // описание настроек
Пользователь.Имя // владелец настроек
);
КонецЦикла;
/// Как прочитать сохраненные настройки пользователя
/// в 1с 8.3, 8.2
// восстанавливаем сохраненные настройки
ВосстановленныеНастройки = Неопределено;
Попытка
ВосстановленныеНастройки =
ХранилищеОбщихНастроек.Загрузить(
"Обработка.ТестированиеКода", // ключ объекта
"Автор", // ключ настроек
, // описание настроек
ИмяПользователя() // владелец настроек, если
// опустить, то настройки прочитаются
// для текущего пользователя
);
// если настроек нет, то будет возвращено значение "Неопределено"
Исключение
Сообщить("Что-то пошло не так..., возможно не хватает прав.");
КонецПопытки;
Если ВосстановленныеНастройки = Неопределено Тогда
Сообщить("Не получилось прочитать настройки.");
Иначе
Сообщить(ВосстановленныеНастройки.Имя);
Сообщить(ВосстановленныеНастройки.Фамилия);
Сообщить(ВосстановленныеНастройки.Возраст);
КонецЕсли;
/// Как удалить сохраненные настройки пользователя в 1с 8.3, 8.2
ХранилищеОбщихНастроек.Удалить(
"Обработка.ТестированиеКода", // ключ объекта
"Автор", // ключ настроек
ИмяПользователя() // владелец настроек, пропускать нельзя
// если указать Неопределено, то настрйка
// удалиться у всех пользователей
);
/// Как удалить сохраненные настройки у всех пользователей в 1с 8.3, 8.2
ХранилищеОбщихНастроек.Удалить(
"Обработка.ТестированиеКода", // ключ объекта
"Автор", // ключ настроек
Неопределено // владелец настроек, пропускать нельзя
);
КонецПроцедуры
Смотрите также:
Электронный учебник по программированию в 1С Рекомендации по изучению программирования 1С с нуля Игра "Кто хочет стать миллионером?" с вопросами на определенную тематику (язык программирования JavaScript, английские, немецкие, французские, испанские, португальские, нидерландские, итальянские слова, электробезопасность, промышленная безопасность, бокс и т.п.), написанная на 1С Программирование в 1С 8.3 с нуля - краткий самоучитель Комплексная подготовка программистов 1С:Предприятие 8.2 Сайты с уроками программирования и со справочниками Youtube-каналы с уроками программирования Сайты для обучения программированию Лекции и уроки