Группа: Пользователи
Сообщений: 20
Спасибо сказали: 0 раз
Рейтинг: 0
нужно по нажатию кнопки обновить список
код
МассивСоединений = ПолучитьСоединенияИнформационнойБазы(); Для каждого Соединение Из МассивСоединений Цикл РегистрСведений = РегистрыСведений.АктивныеПользователиЧата.СоздатьНаборЗаписей(); //РегистрСведений.Отбор.Пользователь.Установить(Соединение.Пользователь.Имя);
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 327 раз
Рейтинг: 0
kanibal23 @ Сегодня, 16:03
, что за переменная
Цитата
НаборЗаписей
? по логике должна быть "РегистрСведений" и объявляйте её за циклом - иначе получите в конце запись из одного пользователя
Дописываю конфигурации на платформе 8.х. - Управление торговым предприятием для Украины - Управление производственным предприятием для Украины - Управление небольшой фирмой для Украины - Бухгалтерия для Украины; - Общепит для Украины - Ресторан (Рарус) - Розница
Группа: Пользователи
Сообщений: 20
Спасибо сказали: 0 раз
Рейтинг: 0
Типа этого
МассивСоединений = ПолучитьСоединенияИнформационнойБазы(); РегистрСведений = РегистрыСведений.АктивныеПользователиЧата.СоздатьНаборЗаписей(); НоваяЗапись = РегистрСведений.Добавить(); Для каждого Соединение Из МассивСоединений Цикл РегистрСведений.Отбор.Пользователь.Установить(Соединение.Пользователь.Имя); НоваяЗапись.Пользователь = РегистрСведений.Отбор.Пользователь; Сообщить("Имя: "+Соединение.Пользователь.Имя); КонецЦикла;
РегистрСведений.Записать();
но вот только записывает одного пустого пользователя
Bernet @ Вчера, 16:47
, тут реально тупнул просто столько раз переписывал что и не заметил
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 327 раз
Рейтинг: 0
kanibal23 @ Сегодня, 9:27
,
МассивСоединений = ПолучитьСоединенияИнформационнойБазы(); НаборЗаписей = РегистрыСведений.АктивныеПользователиЧата.СоздатьНаборЗаписей(); НаборЗаписей.Прочитать(); Для каждого Соединение Из МассивСоединений Цикл НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Пользователь = Соединение.Пользователь.Имя; Сообщить("Имя: "+Соединение.Пользователь.Имя); КонецЦикла; НаборЗаписей.Записать();
Сообщение отредактировал Bernet - 06.06.18, 8:36
Дописываю конфигурации на платформе 8.х. - Управление торговым предприятием для Украины - Управление производственным предприятием для Украины - Управление небольшой фирмой для Украины - Бухгалтерия для Украины; - Общепит для Украины - Ресторан (Рарус) - Розница
Группа: Пользователи
Сообщений: 20
Спасибо сказали: 0 раз
Рейтинг: 0
Bernet @ Сегодня, 9:35
, побывал и так так выпадает ошибка Запись с такими ключевыми полями существует! : АктивныеПользователиЧата: (Регистр сведений: Активные пользователи чата; Номер строки: 2)
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 327 раз
Рейтинг: 0
kanibal23 @ Сегодня, 12:23
, Либо чистить регистр перед каждой записью, либо делать его периодическим, либо как вариант попробуйте
НаборЗаписей.Записать(Истина);
должно заменить существующие строки по идее
Дописываю конфигурации на платформе 8.х. - Управление торговым предприятием для Украины - Управление производственным предприятием для Украины - Управление небольшой фирмой для Украины - Бухгалтерия для Украины; - Общепит для Украины - Ресторан (Рарус) - Розница
ак выпадает ошибка Запись с такими ключевыми полями существует! : АктивныеПользователиЧата: (Регистр сведений: Активные пользователи чата; Номер строки: 2)
это говорит лишь о том, что Вы не установили отбор по измерению.
МассивСоединений = ПолучитьСоединенияИнформационнойБазы(); РегистрСведений= РегистрыСведений.АктивныеПользователиЧата.СоздатьНаборЗаписей(); УстановитьПривилегированныйРежим(Истина); РегистрСведений .Прочитать(); Для каждого Соединение Из МассивСоединений Цикл Если НЕ ПредставлениеПриложения(Соединение.ИмяПриложения)="Конфигуратор" Тогда НоваяЗапись = РегистрСведений.Добавить(); НоваяЗапись.Пользователь = Соединение.Пользователь.Имя; Сообщить("Имя: "+Соединение.Пользователь.Имя); КонецЕсли; КонецЦикла; РегистрСведений.Записать(Истина); УстановитьПривилегированныйРежим(Ложь); КонецПроцедуры
Но все ровно записывает пустое значение
Цитата(sava1 @ 06.06.18, 13:41)
это говорит лишь о том, что Вы не установили отбор по измерению.
ААА более о простом подумать не как Если убрала ошибку оно не понимала как Администратор находится в системе два раза
все работает Но это стоит при старте и закрытий формы Но бывает если я всех кикаю из базы пользователи остаются в чате активными вот и хачю сделать модуль обновления списка
МассивСоединений = ПолучитьСоединенияИнформационнойБазы(); РегистрСведений= РегистрыСведений.АктивныеПользователиЧата.СоздатьНаборЗаписей(); УстановитьПривилегированныйРежим(Истина); РегистрСведений .Прочитать(); Для каждого Соединение Из МассивСоединений Цикл Сообщить("Имя: "+Соединение.Пользователь.Имя+"/ приложение "+ПредставлениеПриложения(Соединение.ИмяПриложения)); Если НЕ ПредставлениеПриложения(Соединение.ИмяПриложения)= "Конфигуратор" Тогда НоваяЗапись = РегистрСведений.Добавить(); НоваяЗапись.Пользователь = Справочники.Пользователи.НайтиПоНаименованию(Соединение.Пользователь.Имя, Истина); КонецЕсли; КонецЦикла; РегистрСведений.Записать(Истина); УстановитьПривилегированныйРежим(Ложь);
Кабы работает но первые несколько минут Потом появляются Фоновые задания и тогда записывает пустого пользователя как их отсеч
МассивСоединений = ПолучитьСоединенияИнформационнойБазы(); РегистрСведений= РегистрыСведений.АктивныеПользователиЧата.СоздатьНаборЗаписей(); УстановитьПривилегированныйРежим(Истина); РегистрСведений .Прочитать(); Для каждого Соединение Из МассивСоединений Цикл Сообщить("Имя: "+Соединение.Пользователь.Имя+"/ приложение "+Соединение.ИмяПриложения); Если НЕ ПредставлениеПриложения(Соединение.ИмяПриложения)= "Конфигуратор" И НЕ Соединение.ИмяПриложения = "BackgroundJob" Тогда НоваяЗапись = РегистрСведений.Добавить(); НоваяЗапись.Пользователь = Справочники.Пользователи.НайтиПоНаименованию(Соединение.Пользователь.Имя, Истина); КонецЕсли;
// !!! РегистрСведений .Прочитать(); Для каждого Соединение Из МассивСоединений Цикл Сообщить("Имя: "+Соединение.Пользователь.Имя+"/ приложение "+ПредставлениеПриложения(Соединение.ИмяПриложения)); Если НЕ ПредставлениеПриложения(Соединение.ИмяПриложения)= "Конфигуратор" Тогда НоваяЗапись = РегистрСведений.Добавить(); НоваяЗапись.Пользователь = Справочники.Пользователи.НайтиПоНаименованию(Соединение.Пользователь.Имя, Истина); КонецЕсли; КонецЦикла; РегистрСведений.Записать(Истина);
который просто заменит все записи регистра сведений?
#define private public enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day
Группа: Пользователи
Сообщений: 20
Спасибо сказали: 0 раз
Рейтинг: 0
andr_andrey @ 08.06.18, 12:30
,
МассивСоединений = ПолучитьСоединенияИнформационнойБазы(); РегистрСведений= РегистрыСведений.АктивныеПользователиЧата.СоздатьНаборЗаписей(); УстановитьПривилегированныйРежим(Истина); РегистрСведений .Прочитать(); Для каждого Соединение Из МассивСоединений Цикл //Сообщить("Имя: "+Соединение.Пользователь.Имя+"/ приложение "+Соединение.ИмяПриложения); Если ЛЕВ(Соединение.ИмяПриложения,4)="1CV8" Тогда //НЕ ПредставлениеПриложения(Соединение.ИмяПриложения)= "Конфигуратор" И НЕ Соединение.ИмяПриложения = "BackgroundJob" НоваяЗапись = РегистрСведений.Добавить(); НоваяЗапись.Пользователь = Справочники.Пользователи.НайтиПоНаименованию(Соединение.Пользователь.Имя, Истина); КонецЕсли;
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!