Форум программистов, компьютерный форум CyberForum.ru

1С: Собственные программы

Войти
Регистрация
Восстановить пароль
 
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 86
Завершенные тесты: 1
#1

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

10.01.2017, 01:21. Просмотров 268. Ответов 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НаСервере(ВыбДата);
Таб.Показать();
КонецПроцедуры
Миниатюры
Получение одной последней записи регистра сведений через СрезПоследних, период - секунда   Получение одной последней записи регистра сведений через СрезПоследних, период - секунда  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2017, 01:21     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда
Посмотрите здесь:
1С 1C 8.x Получение последней записи регистра накопления
1С Получение из регистра сведений
Как задать единственность записи на период в регистре сведений? 1С 1C 8.x
Ключ записи Регистра сведений и обычная форма 8.3 1С 1C 8.x
1С 1C 8.x Подстановка цены в документ из регистра сведений через табличную модель
Индексировать у регистра сведений 1С
Реализация отбора за период в регистре сведений 1С 1C 8.x
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dethmontt
Модератор
Эксперт 1С
2442 / 2251 / 342
Регистрация: 10.03.2011
Сообщений: 7,888
Записей в блоге: 1
Завершенные тесты: 1
10.01.2017, 02:30     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда #2
Срез последних работает по всем измерениям
Volexovich
168 / 145 / 23
Регистрация: 24.10.2011
Сообщений: 563
10.01.2017, 16:36     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Добавь сортировку по дате регистратора и выбирай 1 запись.
1C
1
2
3
4
5
6
7
8
9
    "ВЫБРАТЬ ПЕРВЫЕ 1
    | ПланшетыСрезПоследних.Планшет.IMEI,
    | ПланшетыСрезПоследних.Планшет.SIM,
    | ПланшетыСрезПоследних.Сотрудник.Наименование,
    | ПланшетыСрезПоследних.Регистратор
    |ИЗ
    | РегистрСведений.Планшеты.СрезПоследних(&НаДату, ) КАК ПланшетыСрезПоследних
    |УПОРЯДОЧИТЬ ПО
    |ПланшетыСрезПоследних.Регистратор.Дата УБЫВ"
PS Но отбор и в правду "непоймичто", тупо последняя запись из регистра на дату.
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 86
Завершенные тесты: 1
12.01.2017, 14:50  [ТС]     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда #4
В случае с одним планшетом то это работает. Не сказал, что планшетов может быть много. И если движений больше чем по одному планшету, то запрос выбирает только один планшет (первую запись):
1C
1
2
3
4
5
6
7
8
9
    "ВЫБРАТЬ ПЕРВЫЕ 1
    | ПланшетыСрезПоследних.Планшет.IMEI,
    | ПланшетыСрезПоследних.Планшет.SIM,
    | ПланшетыСрезПоследних.Сотрудник.Наименование,
    | ПланшетыСрезПоследних.Регистратор
    |ИЗ
    | РегистрСведений.Планшеты.СрезПоследних(&НаДату, ) КАК ПланшетыСрезПоследних
    |УПОРЯДОЧИТЬ ПО
    |ПланшетыСрезПоследних.Регистратор.Дата УБЫВ"
Миниатюры
Получение одной последней записи регистра сведений через СрезПоследних, период - секунда  
Dethmontt
Модератор
Эксперт 1С
2442 / 2251 / 342
Регистрация: 10.03.2011
Сообщений: 7,888
Записей в блоге: 1
Завершенные тесты: 1
12.01.2017, 14:59     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда #5
barracuda1991, еще раз повторю!!!
Цитата Сообщение от Dethmontt Посмотреть сообщение
Срез последних работает по всем измерениям
Добавлено через 44 секунды
Структура РЕГИСТРА НЕ ВЕРНАЯ!!!!!

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

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

Добавлено через 29 секунд
Откуда в таблице СрезПоследних поле Регистратор, такого быть не может.......
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 86
Завершенные тесты: 1
12.01.2017, 15:02  [ТС]     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда #6
Регистр подчинен регистратору: два документа, Акт приема и Акт возврата
Dethmontt
Модератор
Эксперт 1С
2442 / 2251 / 342
Регистрация: 10.03.2011
Сообщений: 7,888
Записей в блоге: 1
Завершенные тесты: 1
12.01.2017, 15:08     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
barracuda1991, т.е. у регистра в свойствах установлен режим записи в "Подчинен регистратору"?
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 86
Завершенные тесты: 1
12.01.2017, 15:16  [ТС]     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда #8
Цитата Сообщение от Dethmontt Посмотреть сообщение
barracuda1991, т.е. у регистра в свойствах установлен режим записи в "Подчинен регистратору"?
да, именно так
Dethmontt
Модератор
Эксперт 1С
2442 / 2251 / 342
Регистрация: 10.03.2011
Сообщений: 7,888
Записей в блоге: 1
Завершенные тесты: 1
12.01.2017, 15:51     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда #9
barracuda1991, Сотрудника перенеси в ресурсы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2017, 15:59     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда
Еще ссылки по теме:
1С 1C 8.x (тонкий) Подстановка цены из регистра сведений
1С 1C 8.x Удалить запись регистра сведений
1С 1С 8.2 Последние значения из регистра сведений
Вытащить значения из регистра сведений 1С 1C 8.x (тонкий)
Цена номенклатуры из регистра сведений 1С

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

Или воспользуйтесь поиском по форуму:
barracuda1991
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 86
Завершенные тесты: 1
12.01.2017, 15:59  [ТС]     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда #10
Оставил в измерении только планшет. Вроде получилось. Огромное спасибо!
Yandex
Объявления
12.01.2017, 15:59     1C 8.x Получение одной последней записи регистра сведений через СрезПоследних, период - секунда
Ответ Создать тему
Опции темы

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