Имя: Пароль:
1C
1С v8
Существующая запись регистра сведений не отбирается запросом.
,
0 Shantaram
 
22.12.20
13:06
В регистре три записи(в процессе отладки).
Простой код:

    Запрос.Текст = "ВЫБРАТЬ
        |    джс_НоминалыПовторноАктивированныхПодарочныхСертификатов.Регистратор КАК Регистратор
        |ИЗ
        |    РегистрСведений.джс_НоминалыПовторноАктивированныхПодарочныхСертификатов КАК джс_НоминалыПовторноАктивированныхПодарочныхСертификатов
        |ГДЕ
        |    ВЫРАЗИТЬ(джс_НоминалыПовторноАктивированныхПодарочныхСертификатов.Регистратор КАК Документ.ЧекККМ) = &Регистратор";
    Запрос.УстановитьПараметр("Регистратор", Источник.Ссылка);
    Результат = Запрос.Выполнить() ;

Параметр типа ссылка, физически, в регистре есть запись с таким регистратором.
Результ - пустой().
Закоментил условие, через отладчик посмотрел, что выбирается - все записи кроме указанной в параметре. .

Регистр подчинен регистратору: Чек ККМ и Реализация товаров услуг.
Код выполняется в обработчике подписки на событии ОбработкаПроведения.
1 mikecool
 
22.12.20
13:08
Условие без выразить пробовал?
2 mikecool
 
22.12.20
13:09
иначе - условие неверное, регистратор не тот
3 Shantaram
 
22.12.20
13:10
Дык вообще без условия пробовал - в выборке нету нужной записи, а в регистре есть.
4 Kassern
 
22.12.20
13:11
(2) джс_НоминалыПовторноАктивированныхПодарочныхСертификатов.Регистратор КАК Документ.ЧекККМ дает тебе истину или ложь, не более того
Пиши просто джс_НоминалыПовторноАктивированныхПодарочныхСертификатов.Регистратор=&Регистратор
5 Shantaram
 
22.12.20
13:11
Регистратор - тот. Проверял и по коду и по дате.
это мои тестовые документы. Тот )
6 Kassern
 
22.12.20
13:12
(3) чудес не бывает, открой консоль запросов и воткни туда просто выбор полей из твоего региста без отборов и убедись что там есть нужная тебе строчка
7 Kassern
 
22.12.20
13:13
(6) если будешь убеждать, что строчки нет, сделай скриншот нужной тебе строчки из таблицы и скриншот результата запроса из консоли с текстом запроса
8 Shantaram
 
22.12.20
13:36
(7) - сделаю.

Но уже и так делал:
НаборЗаписей = РегистрыСведений.джс_НоминалыПовторноАктивированныхПодарочныхСертификатов.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.регистратор.Установить(Источник.Ссылка);
    НаборЗаписей.Прочитать();

Наборзаписей.Количество() = 0

Список регистра:
https://ibb.co/FVt84n1

Результат в консоли запросов:
https://ibb.co/2tcFhg2

Параметр:
https://ibb.co/Rp6Qkq2

Ну и после выполнения Результат.Пустой() = истина

В консоли отбирается, в процедуре - нет.
9 ДенисЧ
 
22.12.20
13:37
Отсюда вывод. В процедуре ты задаёшь не тот документ
10 Shantaram
 
22.12.20
13:39
Тот
https://ibb.co/b2r8bp6

С таким номером больше нет чеков.
И я же этот документ провожу, в обработчик подписки передается переменная Источник - как раз этот чек.
11 Shantaram
 
22.12.20
13:40
(9) Мситка какая-то. Решил на мисту обратиться :-)
12 Kassern
 
22.12.20
13:48
(11) ахахах, я кажись понял в чем твоя проблема)) У тебя поди регистр привязан к документу, а в документе идет автоматическое удаление движений. Ты когда вызываешь свой запрос у тебя данной проводки нет, но после записи она появляется. Никакой мистики мисье
13 Shantaram
 
22.12.20
13:55
(12) Да, привязан. К реализации и ЧекуККМ
но в обоих документах удаление движений установлено Не удалять автоматически.
14 Shantaram
 
22.12.20
13:55
(12) Это первое, что проерил.
15 Shantaram
 
22.12.20
13:58
(12) В обработке проведения документа про , добавленный мной, регистр, разумеется, ни слова - ни строчки. Для этого и создал подписку, что бы не трогать модуль документа.
16 hhhh
 
22.12.20
13:59
(14) проверь ручное удаление движений там
17 Shantaram
 
22.12.20
14:08
(16) Про ручное удаление не в курсе.
Имел в виду какую-то настройку в свойствах документа или обработку проведения?
18 Kassern
 
22.12.20
14:13
(15) подписка привязана к какому событию?
19 Малыш Джон
 
22.12.20
14:48
(8) Запусти два сеанса. В одном, в отладке поставь точку останова на строке Запрос.Выполнить(), останови отладку на этой точке. В другом сеансе в консоли проверь наличие в этот момент записи в регистре.
20 Shantaram
 
22.12.20
15:13
Получается, что ситуация такая:
В из обработке проведения документа вызывается ПодготовитьНаборыЗаписейКРегистрацииДвижений из общего модуля,
в которой в транзакции очищаются все движения документа. Соответственно удаляется движение из моего регистра.
Не учел того, что типовой функционал поработает и с добавленным регистром.
21 Kassern
 
22.12.20
15:23
(20) как и писал, чудес не бывает...