Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
27 Май 2017, 16:42
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Метод ПолучитьПоследнее() ничего не возвращает  (Прочитано 1148 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Golickoff

  • ***
  • Сообщений: 199
  • РЕПУТАЦИЯ: 10
  • КПД: 5%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Всем привет. Создал отчёт, в котором указывается его номер, уникальный для каждого сформированного отчёта. Для хранения номеров создал периодический регистр сведений с периодом Секунда. При формировании отчёта используется следующий код:
НаборНомеровОтчёта = РегистрыСведений.НомераТаможенныхОтчётов.ПолучитьПоследнее(ТекущаяДата());
Если НаборНомеровОтчёта.Количество() = 0 Тогда
ПервыйНомер = РегистрыСведений.НомераТаможенныхОтчётов.СоздатьНаборЗаписей();
Значение = ПервыйНомер.Добавить();
Значение.НомерОтчёта = 1;
Значение.Период = ТекущаяДата();
ПервыйНомер.Записать();
НомерОтчёта = 1;
Иначе
НоваяЗапись = РегистрыСведений.НомераТаможенныхОтчётов.СоздатьНаборЗаписей();
Значение = НоваяЗапись.Добавить();
Значение.НомерОтчёта = НаборНомеровОтчёта.НомерОтчёта+1;
Значение.Период = ТекущаяДата();
НоваяЗапись.Записать();
НомерОтчёта = НаборНомеровОтчёта.НомерОтчёта;
КонецЕсли;
После формирования первого отчёта я ничего не получил в срезе последнего и создал новую запись под номером 1. Забыл упомянуть, что у регистра есть только один реквизит с типом Число. Я проверил регистр, запись в нём имеется.
При следующих формированиях я снова ничего не получил в срезе последнего и изменил дату записи регистра с таким же номером. Отсюда 2 вопроса:
1. Почему я не получаю срез последнего?
2. Почему я перезаписываю уже существующую запись без ошибок?

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>


Оффлайн ls600

  • ****
  • Сообщений: 322
  • РЕПУТАЦИЯ: 20
  • КПД: 6%
  • Регистрация: 2012-05-14
  • Сайт: 
  • Профессия: Программист 1С
насчет 1 вопроса, запросом получай, запрос есть?
по 2 вопросу, если так понял, что бы не перезаписывать запись нужно сделать
ПервыйНомер.Записать(Ложь);
НоваяЗапись.Записать(Ложь);

Оффлайн Golickoff

  • ***
  • Сообщений: 199
  • РЕПУТАЦИЯ: 10
  • КПД: 5%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
насчет 1 вопроса, запросом получай, запрос есть?
Пробовал вот такой текст
"ВЫБРАТЬ
   |   НомераТаможенныхОтчётовСрезПоследних.НомерОтчёта
   |ИЗ
   |   РегистрСведений.НомераТаможенныхОтчётов.СрезПоследних КАК НомераТаможенныхОтчётовСрезПоследних
   |ГДЕ
   |   НомераТаможенныхОтчётовСрезПоследних.Период = &Период"
Тоже пусто.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
может регистр сведений тупо непериодический? ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн ls600

  • ****
  • Сообщений: 322
  • РЕПУТАЦИЯ: 20
  • КПД: 6%
  • Регистрация: 2012-05-14
  • Сайт: 
  • Профессия: Программист 1С
в отчете у даты какой тип даты: Дата, или Дата и Время

Оффлайн Golickoff

  • ***
  • Сообщений: 199
  • РЕПУТАЦИЯ: 10
  • КПД: 5%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
может регистр сведений тупо непериодический? ;)
Написал в топике, периодичность в пределах секунды.

в отчете у даты какой тип даты: Дата, или Дата и Время
Я использую
ТекущаяДата()
, а не переменные отчёта.

Оффлайн ls600

  • ****
  • Сообщений: 322
  • РЕПУТАЦИЯ: 20
  • КПД: 6%
  • Регистрация: 2012-05-14
  • Сайт: 
  • Профессия: Программист 1С
тогда нужно отслеживать код, так сложно сказать.

Оффлайн Golickoff

  • ***
  • Сообщений: 199
  • РЕПУТАЦИЯ: 10
  • КПД: 5%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
Всё решилось этими строками:
"ВЫБРАТЬ
   |   НомераТаможенныхОтчётовСрезПоследних.НомерОтчёта
   |ИЗ
   |   РегистрСведений.НомераТаможенныхОтчётов.СрезПоследних(&Дата, ) КАК НомераТаможенныхОтчётовСрезПоследних"
Благодарю за внимание.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
91 Сообщений
Dethmontt Dethmontt
66 Сообщений
MuI_I_Ika MuI_I_Ika
63 Сообщений
wise wise
63 Сообщений
alex0402
58 Сообщений
ilyay ilyay
42 Сообщений
Сергей Федоров Сергей Федоров
32 Сообщений
magnifico61
25 Сообщений
ilnur75
22 Сообщений
Дмитрий Медведков
18 Сообщений

* Кто онлайн

  • Точка Гостей: 288
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal