Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 100
Завершенные тесты: 1
1

Получение одной последней записи регистра сведений через СрезПоследних, период - секунда

10.01.2017, 01:21. Просмотров 1615. Ответов 9
Метки нет (Все метки)

Здравствуйте. Скажите пжт, у меня регистр сведений с периодичностью - в пределах секунды. В регистре три записи (рис 1).
Мне нужно вытащить из этого регистра, одну последнюю запись (то есть актуальное состояние данного устройства на выбранную дату). Применяю срез последних, он выдает мне две записи (рис 2). Подскажите пжт как исправить?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
&НаСервереБезКонтекста
Функция Команда1НаСервере(ВыбДата)
#Если Не МобильноеПриложениеСервер Тогда    
ТабДок = Новый ТабличныйДокумент;   
Макет = Отчеты.ОтчетНаличиеПланшетов.ПолучитьМакет("МакетНаличиеПланшетов");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
Запрос = Новый Запрос("ВЫБРАТЬ
                      | ПланшетыСрезПоследних.Планшет.IMEI,
                      | ПланшетыСрезПоследних.Планшет.SIM,
                      | ПланшетыСрезПоследних.Сотрудник.Наименование,
                      | ПланшетыСрезПоследних.Регистратор
                      |ИЗ
                      | РегистрСведений.Планшеты.СрезПоследних(&НаДату, ) КАК ПланшетыСрезПоследних");
Запрос.УстановитьПараметр("НаДату",ВыбДата);
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
    ОбластьСтрока.Параметры.НомерПланшета = Результат.ПланшетIMEI;
    ОбластьСтрока.Параметры.СимКарта = Результат.ПланшетSIM;
    ОбластьСтрока.Параметры.Сотрудник = Результат.СотрудникНаименование;
    ОбластьСтрока.Параметры.АктРег = Результат.Регистратор;
    
    ТабДок.Вывести(ОбластьСтрока);
КонецЦикла;
 
Возврат ТабДок;
#КонецЕсли
КонецФункции
 
&НаКлиенте
Процедура Команда1(Команда)
ВыбДата=Дата(ЭтаФормА.Элементы.НаДату.ТекстРедактирования + " 20:42:22");
Таб =   Команда1НаСервере(ВыбДата);
Таб.Показать();
КонецПроцедуры
0
Миниатюры
Получение одной последней записи регистра сведений через СрезПоследних, период - секунда   Получение одной последней записи регистра сведений через СрезПоследних, период - секунда  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2017, 01:21
Ответы с готовыми решениями:

Выборка СрезПоследних из регистра сведений по неделям
Здравствуйте . в собственной конфигурации есть регистр сведений "ПроцентЧасов",...

Получение последней записи регистра накопления
Добрый день. Есть регистр накопления взаиморасчеты вид остатки. Мне нужно...

Получение из регистра сведений
Подсккажите как из регистра сведений получить предпоследнюю и последнюю записи

Получение данных из регистра сведений
Ребята, нужна помощь)) Делаю отчет в 8.3, СКД продажи. Нужно добавить новое...

Выбор записи из регистра сведений по условию
Доброго времени суток. Имеется документ "ЧекККМ", в предопределенных видах...

9
Dethmontt
Модератор
Эксперт 1С
2617 / 2417 / 407
Регистрация: 10.03.2011
Сообщений: 8,594
Записей в блоге: 1
Завершенные тесты: 1
10.01.2017, 02:30 2
Срез последних работает по всем измерениям
0
Volexovich
198 / 174 / 29
Регистрация: 24.10.2011
Сообщений: 682
10.01.2017, 16:36 3
Лучший ответ Сообщение было отмечено barracuda1991 как решение

Решение

Добавь сортировку по дате регистратора и выбирай 1 запись.
1C
1
2
3
4
5
6
7
8
9
    "ВЫБРАТЬ ПЕРВЫЕ 1
    | ПланшетыСрезПоследних.Планшет.IMEI,
    | ПланшетыСрезПоследних.Планшет.SIM,
    | ПланшетыСрезПоследних.Сотрудник.Наименование,
    | ПланшетыСрезПоследних.Регистратор
    |ИЗ
    | РегистрСведений.Планшеты.СрезПоследних(&НаДату, ) КАК ПланшетыСрезПоследних
    |УПОРЯДОЧИТЬ ПО
    |ПланшетыСрезПоследних.Регистратор.Дата УБЫВ"
PS Но отбор и в правду "непоймичто", тупо последняя запись из регистра на дату.
1
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 100
Завершенные тесты: 1
12.01.2017, 14:50  [ТС] 4
В случае с одним планшетом то это работает. Не сказал, что планшетов может быть много. И если движений больше чем по одному планшету, то запрос выбирает только один планшет (первую запись):
1C
1
2
3
4
5
6
7
8
9
    "ВЫБРАТЬ ПЕРВЫЕ 1
    | ПланшетыСрезПоследних.Планшет.IMEI,
    | ПланшетыСрезПоследних.Планшет.SIM,
    | ПланшетыСрезПоследних.Сотрудник.Наименование,
    | ПланшетыСрезПоследних.Регистратор
    |ИЗ
    | РегистрСведений.Планшеты.СрезПоследних(&НаДату, ) КАК ПланшетыСрезПоследних
    |УПОРЯДОЧИТЬ ПО
    |ПланшетыСрезПоследних.Регистратор.Дата УБЫВ"
0
Миниатюры
Получение одной последней записи регистра сведений через СрезПоследних, период - секунда  
Dethmontt
Модератор
Эксперт 1С
2617 / 2417 / 407
Регистрация: 10.03.2011
Сообщений: 8,594
Записей в блоге: 1
Завершенные тесты: 1
12.01.2017, 14:59 5
barracuda1991, еще раз повторю!!!
Цитата Сообщение от Dethmontt Посмотреть сообщение
Срез последних работает по всем измерениям
Добавлено через 44 секунды
Структура РЕГИСТРА НЕ ВЕРНАЯ!!!!!

Оставить ОДНО измерение "Планшет" все остальное перенести в РЕСУРСЫ!!!

Добавлено через 1 минуту
barracuda1991, Регистр подченен РЕГИСТРАТОРУ???

Добавлено через 29 секунд
Откуда в таблице СрезПоследних поле Регистратор, такого быть не может.......
1
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 100
Завершенные тесты: 1
12.01.2017, 15:02  [ТС] 6
Регистр подчинен регистратору: два документа, Акт приема и Акт возврата
0
Dethmontt
Модератор
Эксперт 1С
2617 / 2417 / 407
Регистрация: 10.03.2011
Сообщений: 8,594
Записей в блоге: 1
Завершенные тесты: 1
12.01.2017, 15:08 7
Лучший ответ Сообщение было отмечено barracuda1991 как решение

Решение

barracuda1991, т.е. у регистра в свойствах установлен режим записи в "Подчинен регистратору"?
1
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 100
Завершенные тесты: 1
12.01.2017, 15:16  [ТС] 8
Цитата Сообщение от Dethmontt Посмотреть сообщение
barracuda1991, т.е. у регистра в свойствах установлен режим записи в "Подчинен регистратору"?
да, именно так
0
Dethmontt
Модератор
Эксперт 1С
2617 / 2417 / 407
Регистрация: 10.03.2011
Сообщений: 8,594
Записей в блоге: 1
Завершенные тесты: 1
12.01.2017, 15:51 9
barracuda1991, Сотрудника перенеси в ресурсы
0
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 100
Завершенные тесты: 1
12.01.2017, 15:59  [ТС] 10
Оставил в измерении только планшет. Вроде получилось. Огромное спасибо!
0
12.01.2017, 15:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2017, 15:59

Как задать единственность записи на период в регистре сведений?
опять про баранов:) имеется некое измекрение с некоей периодичностью, причем...

Ключ записи Регистра сведений и обычная форма 8.3
Я хочу сделать ключ по полю "ГосударственныйНомер", для выборки этого значения...

Получение цен для каждого товара табличной части из периодического регистра сведений
Ребята, помогите! вам наверное это покажется элементарным, но я только учусь,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru