![]() |
![]() |
|
Выбран() = Ложь или что такое "уровнь разделения НезависимоИСовместно" | ☑ | ||
---|---|---|---|---|
0
fishb1
09.07.15
✎
08:14
|
Добрый день!
Есть следующий код: Менеджер = РегистрыСведений.ИзмененияОбъектов.СоздатьМенеджерЗаписи(); Менеджер.ОбъектСсылка = Ссылка; Менеджер.Прочитать(); Создал =""; ДатаСоздания = ""; Если Менеджер.Выбран() Тогда Создал = Менеджер.Создал; ДатаСоздания = Менеджер.ДатаСоздания; КонецЕсли; В некоторых случаях, при точно существующих записях по отбираемому измерению, не попадаю в условие, поскольку Выбран() возвращает Ложь. В СП по методу Прочитать() есть такие строки: "Описание: Считывает запись регистра сведений по установленным значениям ключевых полей, включая разделители с уровнем разделения НезависимоИСовместно, в состав которых входит регистр. При этом, если указать значение разделителя, отличное от используемого в сеансе или не указать не используемое в сеансе, Выбран вернет Ложь." Может кто-нибудь мне расшифровать это послание? Умоляю!!! |
|||
1
hhhh
09.07.15
✎
09:14
|
делайте через набор записей
|
|||
2
ИсчадиеADO
09.07.15
✎
09:35
|
разделители - это общие реквизиты, могут использоваться, например, когда в 1 базе ведется учет по нескольким не связанным фирмам. С помощью разделителя можно разделить доступ на объекты конфигурации
|
|||
3
ИсчадиеADO
09.07.15
✎
09:36
|
||||
4
fishb1
09.07.15
✎
09:46
|
(1) Я запросом сделал.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | ИзмененияОбъектов.Создал, | ИзмененияОбъектов.ДатаСоздания, | ИзмененияОбъектов.ОбъектСсылка |ИЗ | РегистрСведений.ИзмененияОбъектов КАК ИзмененияОбъектов |ГДЕ | ИзмененияОбъектов.ОбъектСсылка = &ОбъектСсылка | |УПОРЯДОЧИТЬ ПО | ИзмененияОбъектов.Период"; Запрос.УстановитьПараметр("ОбъектСсылка", Ссылка); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Менеджер = РегистрыСведений.ИзмененияОбъектов.СоздатьМенеджерЗаписи(); Менеджер.Период = ТекущаяДата(); Менеджер.ОбъектСсылка = Ссылка; Если Выборка.Следующий() Тогда Менеджер.Изменил = ИмяПользователя(); Менеджер.ДатаИзменения = ТекущаяДата(); Иначе Менеджер.Создал = ИмяПользователя(); Менеджер.ДатаСоздания = ТекущаяДата(); КонецЕсли; Просто я залип на этом описании. Теперь спать не буду, пока не пойму. :) |
|||
5
fishb1
09.07.15
✎
09:48
|
(2) Спасибо большое за объяснение.
Теперь осталось понять, почему у меня происходит разделение набора записей. |
|||
6
hhhh
09.07.15
✎
09:50
|
Менеджер.Период = ТекущаяДата(); - вот это что? прямо затекущую секунду проверяете?
|
|||
7
fishb1
09.07.15
✎
10:00
|
(6) Это новая запись создается. Там дальше еще код идет.
И вообще мопед не мой, попросили пофиксить. :) |
|||
8
fishb1
09.07.15
✎
10:21
|
(6) И вообще, я тут немного поковырялся. Изначально регистр был непериодический (по сути так и должно быть). Потом из него попытались сделать космический корабль и на этом весь механизм сломался.
|
|||
9
hhhh
09.07.15
✎
10:41
|
(8) конечно, ели указывете период Текущая секунда, и ожидаете Что Выбран() за эту секунду уже будет Истина.
|
|||
10
fishb1
09.07.15
✎
10:48
|
(9) Ну, СП оптимисты писали.
Пример: Курс = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи(); Курс.Валюта = ВыбВалюта; Курс.Период = ТекущаяДата(); Курс.Прочитать(); Если Не Курс.Выбран() Тогда Курс.Период = ТекущаяДата(); Курс.Валюта = ВыбВалюта; Курс.Курс = 41.35; Курс.Кратность = 1; КонецЕсли; Если ВвестиЧисло(Курс.Курс, "Введите курс на сегодня",15,5) Тогда Курс.Записать(); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |