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

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

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

Оффлайн Golickoff

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


Оффлайн ls600

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

Оффлайн Golickoff

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

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

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

Оффлайн ls600

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

Оффлайн Golickoff

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

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

Оффлайн ls600

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

Оффлайн Golickoff

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


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
155 Сообщений
alex0402
80 Сообщений
alexandr_ll
37 Сообщений
LexaK
30 Сообщений
MuI_I_Ika MuI_I_Ika
27 Сообщений
crow1983
27 Сообщений
sertak sertak
22 Сообщений
дфтын дфтын
17 Сообщений
BuhRust
15 Сообщений
Vzonder
14 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal