8.х Отчет по РегиструНакопления

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем nbIpKuH_BaH9I, 16 янв 2010.

  1. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Все привет. Подскажите пожалуйста. Есть Документ, который является регистратором РегистраНакопления. У РегистраНакопления по умолчанию есть поле Период. Но я сделал, чтобы там фиксировалась не дата проведения документа, а дата из табличной части документа. Сделал отчет через СКД. При выборе виртуальной таблицы автоматически создаются параметры НачалоПериода и КонецПериода. Если период выбирать через настройка-параметры, то все работает. А мне бы хотелось немного покрасивше сделать. Короче как сделать так,чтобы период можно было выбирать не из настроек отчета, а из поле выбора периода? Как на срине.
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Давно пытался такое сделать.
    Надо работать с "КомпоновщикНастроек". Примерно выглядит так:
    Код:
    КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[Имя параметра].Значение
    
    Но могу ошибаться, т.к. это было давно.
    ЗЫ не очень удобно, т.к. из формы период в компоновщик можно установить, а вот получить "обратную связь", кода период меняется через настройки не получилось и отчет строится по одному периоду, а в форме отображается совершенно другой.
  3. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Я наверное даже неправильно делаю. Создал еще одну процедуру с таким же текстом как у вас. И чтобы она вызывалась при нажатие на поле выбора периода. Естественно там ошибки...
  4. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    я также делал это очень давно, но точно помню, что надо открыть книгу Е.Ю.Хрусталева - Разработка сложных отчетов в 1С Предприятии 8. там в главе Справочник разработчика должо быть кратенькое описание работы с параметрами через встроенный язык

    это делается по типу
    Код:
    Параметр1 = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[Номер параметра в списке параметров];
    Параметр1.Значение = ТекущаяДата();
    Параметр1.Использование = Истина;
    
  5. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Почти не ошибся...
    Код:
    КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[Порядковый номер параметра, начаная с 0].Значение
    
    У меня так работает
  6. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Код:
    Процедура УстановитьПериод()
    Параметр1 = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0];
    Параметр1.Значение = ТекущаяДата();
    Параметр1.Использование = Истина;
    Параметр2 = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[1];
    Параметр2.Значение = ТекущаяДата();
    Параметр2.Использование = Истина;
    КонецПроцедуры
    
    
    Процедура ПериодПриИзменении(Элемент)
    
    УстановитьПериод();
    
    КонецПроцедуры
    
    
    Я завел 2 реквизита Параметр1 и Пареметр2. Соответственно Параметр1-это данные для первого, а Параметр2 -для второго поля выбора периода.
    Процедура ПериодПриИзменении относится к выбору периода в общем. Все равно не работает.
    А ту тему в книге уже от и до прочитал. Но наподобие там ничего нет.
  7. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    наподобие есть, не обманывайте :unsure: процедуру надо вызывать по знаменитой кнопке Сформировать :smile:
  8. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Я столкнулся с тем, что при формировании отчета через СКД вручную - напрочь не работает расшифровка. Обошел тем, что при изменении периода, этот самый период заносился в текущие настройки СКД, с которым отчет формировался по кнопке "СФОРМИРОВАТЬ" самого СКД.
  9. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Еще раз все перечитал. Тыкните меня, идиота, носом где написано наподобие того, что мне надо? :smile:
  10. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Код:
     
    Процедура ВыбПериодНажатие(Элемент)
    НастройкаПериода = Новый НастройкаПериода;
    НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));
    НастройкаПериода.РедактироватьКакИнтервал = Истина;
    НастройкаПериода.РедактироватьКакПериод = Истина;
    НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
    Если НастройкаПериода.Редактировать() Тогда
    НачПериода = НастройкаПериода.ПолучитьДатуНачала();
    КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
    КонецЕсли;
    КонецПроцедуры
    
    Вот стандартная процедура при добавлении в форму поля выбора периода.

    Код:
    НачПериода = НастройкаПериода.ПолучитьДатуНачала();
    КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
    
    
    Вместо этих строк я написал это
    Код:
    НачПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.НачалоПериода;
    КонПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.КонецПериода;
    
    
    Ну естественно не работает. Или я вообще все не правильно делаю?
  11. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    скинь, пожалуйста, на почту ваш отчет gosn1ck@yandex.ru погляжу поближе. в какой конфигурации работаете?
  12. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Конфигурация самописная. Хорошо.
  13. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    я сейчас ввел 2 тестовых документа и вот что обнаружил, при этом установил параметр, не кажется ли вам что тут что-то странное творится? :unsure: :
    и еще зачем в РН иметь Измерения - Год, Месяц и Дата?

    Вложения:

    • sshot_1.jpg
      sshot_1.jpg
      Размер файла:
      122,6 КБ
      Просмотров:
      12
  14. TopicStarter Overlay
    nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Просто в одном документе регистрирую выезды за месяц. И соответственно не могу это делать тогда когда съездил. Даты будут разные. Вот так и сделал. Думаю, что это наилучший вариант. Ну год-это год выезда, месяц-месяц а дата - дата выезда.
  15. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    дата регистрации выезда - дата документа,
    дата выезда - реквизит Период
    обычно учатся отчеты делать на постоителе и макете, скд вроде как потом

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