8.х Срез последних, совсем запутался…

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем WWW123, 2 мар 2009.

  1. TopicStarter Overlay
    WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    Есть регистр сведений – Начисления
    Измерения – ЛицевойСчёт и дата
    Ресурс – Начислено (рублей)

    Надо, получить дату последнего Начислено,

    Код:
    Нач = РегистрыНакопления.Начисления;
    Дата1 = ТекущаяДата();
    Срез1 = Нач.СрезПоследних(Дата1, ЛицевойСчёт);
    
    Выдаёт -Метод объекта не обнаружен (СрезПоследних)

    Можно ли обойтись без запроса?
  2. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    Вместо РегистрыНакопления нужно РегистрыСведений.
  3. TopicStarter Overlay
    WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    Всё перенёс в РегистрыСведений
    Измерения - ЛицевойСчёт, дата
    Ресурсы – Начислено

    Модуль
    Код:
    Нач = РегистрыСведений.НачислРС;
    Дата1 = ТекущаяДата();
    Срез = Нач.СрезПоследних(Дата1, ЛицевойСчёт);
    Сообщить (Срез); 
    
    Всё, как в примере Синтаксис-помошник – ничего не показывает!
  4. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    Ну и зачем там "дата" в измерениях? Периодичность у регистра сведений та поставили?

    Что такое ЛицевойСчёт? Какой тип?
  5. TopicStarter Overlay
    WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    Порой возникает необходимость искать расчёты сделанные в определённую дату, хотя в данной ситуации, дату можно и в ресуры...
    А ЛицевойСчёт (строока) это реквезит справочника потребителей , которому (Лицевому Счёту) выписали документ (расчёт) в определённый день (дата), когда делали расчёт в последний раз и нужно узнать.
    Разумеется в документе "расчёт" те же реквизиты, что и в РегистреСведений
  6. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    Это всё весело конечно. Но вы же смотрели синтакс-помощник там какой тип имеет второй параметр СрезПоследних? Правильно... Структура ну и какого лешего у вас она строка?
  7. TopicStarter Overlay
    WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    Спасибо буду эксперементировать....
  8. TopicStarter Overlay
    WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    Сделал так:
    Код:
    Отбор=новый структура;
    Отбор.Вставить("ЛицевойСчёт", ЛицевойСчёт ) ;
    РегистрыСведений.Начисл.СрезПервых(ТекущаяДата(),отбор)  ;
    
    Получилась таблица значений, а как теперь вытащить от туда дату ?
  9. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    Например, вот так:
    Код:
    ТаблЗнач = РегистрыСведений.Начисл.СрезПервых(ТекущаяДата(),отбор);
    Если ТаблЗнач.Количество() > 0 Тогда
    КакПолучитьДату = ТаблЗнач[0].Период;
    КонецЕсли;
    
    
  10. TopicStarter Overlay
    WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    Не совсем так, но всёравно спасибо.
    Вобщем всё получилось и выглядит вот так:

    Код:
    Отбор=новый структура;
    Отбор.Вставить("ЛицевойСчёт", ЛицевойСчёт );
    Срез = РегистрыСведений.Начисл.СрезПервых(ТекущаяДата(),отбор) ;
    Для каждого стр Из Срез Цикл
    Дата = стр.период;    
    КонецЦикла;    
    
    
  11. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    1. А что у вас таблица значений Срез содержит более чем одну строку?
    2. А если таблица значений Срез будет пустой, то тогда что?
  12. 1Cnica
    Offline

    1Cnica Опытный в 1С

    Регистрация:
    13 фев 2009
    Сообщения:
    416
    Симпатии:
    0
    Баллы:
    26
    тогда цикл мимо пройдёт
  13. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    Ну дык это и ежу понятно. Переменную Дата нужно же тогда инициализировать, хотя бы как пустую.
  14. TopicStarter Overlay
    WWW123
    Offline

    WWW123 Опытный в 1С

    Регистрация:
    23 фев 2009
    Сообщения:
    181
    Симпатии:
    0
    Баллы:
    26
    Извините, что не отвечал, проблема снялась и, как бы, успокоился…
    Может я чего не понимаю, но если ищется по измерению ЛицевойСчёт дата последнего поредённого документа, а дата ресурс, то получается одна стрка..
    Таблица пустой не получается, дата присутствует обязательно (если были документы), если не сложно можно пояснить?

Поделиться этой страницей