Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0
Всем привет! Давно не нуждался в помощи, но к сожалению опять приходится Короче что требуется ... сущий пустяк, который на удивление стал целой проблемой с которой уже, с этими бесконечными методами тыка, уже второй день вожусь, и трачу кучу времени. Тогда как изначально думал, что вопрос слишком простой что бы он превращался в целую проблему и что бы вообще возникла сама надобность выходить на форум. Но видимо без этого никак не получается. Ладно ... так и быть... Так вот, что нужно... нужно в созданную форму отчета СКД вставить любую свою дату. И сделать это программно (т.е. не интерактивным, а кодовым способом). Вот что нужно... Казалось бы сущий пустяк ... Просто ерунда ...но дорогие друзья ... честно говорю ... осточертело уже ... вожусь с этой чепухой ... то так, то сяк ... ну никак не хочет система подчиниться. А все что нужно это просто вставить эту несчастную указанную дату в это несчастное поле даты на форме. Всего лишь и больше НИЧЕГО! Т.е. Допустим в метаданных: "Отчеты", мы создали: "Отчет1". Потом определили выгрузку данных: "ОсновнаяСхемаКомпоновкиДанных". А потом создали форму "отчета1". И вот тут нужно что бы при открытии формы, или при изменении какого-нибудь реквизита отчета в поля: "НачалоПериода", "КонецПериода" вставлялась и отображалась своя дата. Вот что нужно. Вот пример кода, где взяты условные значения дат:
Короче ... дорогие друзья ... никак че то не выходит. При изменении на пример реквизита "Год" или "Месяц" в открытой форме НИЧЕГО НЕ ПРОИСХОДИТ! Абсолютно! Буду признателен!
Группа: Пользователи
Сообщений: 74
Спасибо сказали: 30 раз
Рейтинг: 30
Цитата(Gigi @ 16.07.20, 11:01)
А все что нужно это просто вставить эту несчастную указанную дату в это несчастное поле даты на форме.
Немного запутанно. Уточните пожалуйста, Вы хотите изменить дату на форме, чтобы она попала в Параметр СКД? Тогда, вроде, в ПараметрыДанных_Заполнить() всё чотко, должно сработать. Естественно, когда Вы нажмете "Сформировать"
Что у Вас должно происходить в ГодПриИзменении() и МесяцПриИзменении(), не совсем понятно. Почему-то Вы передаете в правильную процедуру ПараметрыДанных_Заполнить() все время одинаковый интервал: с начала веков по текущую дату. Возможно, там имеется в виду что-то вроде
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0
TohaMonster @ Сегодня, 14:29
, Гуу ... хоть что-то в ответ..
Цитата(TohaMonster @ 16.07.20, 14:29)
все время одинаковый интервал: с начала веков по текущую дату. Возможно, там имеется в виду что-то вроде
Да нет ... я там просто чисто условно указал даты... да хоть какие ... это для теста. А что касается того, какими датами должны заполняться параметры: начала/конец периода то суть в следующем... Дело в том, у нас все отчеты... акты,счета и т.д. оформляются в месяц раз... и статистика тоже нужна за один месяц или год. А в отчетах СКД по стандарту для этого постоянно нужно указывать дату на пример: с 01.07.2020 по 01.08.2020 а это не очень удобно... ну не знаю .. лично мне не удобно ковырять и выбирать дату, тогда как всегда нужно с 01... по 01. Поэтому в чем идея... создать доп реквизиты в отчете СКД: "Отчет.Год" и "Отчет.Месяц". Типы которых СправочникСсылка.Год и ПеречислениеСсылка.Месяц. И что нужно в конечном счете ... при изменении года или месяца дата будет вставляться с 01 ... по 01... в зависимости от того какой указан год/месяц. Как это сделать это не вопрос... Вопрос в том, что в интеракивном режиме при изменении года или месяца в поля Начало-Конец периода не вставляется вообще ничего. Не смотря на то что РУССКИМ КОДОВЫМ ЯЗЫКОМ написано что должно быть отображено.. Вот в чем проблема ..
pablo @ Сегодня, 14:05
,
Цитата(pablo @ 16.07.20, 14:05)
Для программного заполнения параметров СКД используйте обработчик события ПриКомпоновкеРезультата модуля отчета
Стоп .. пардон.... упустил ... нужно протестить то что рекомендует автор этого поста... ладно проверю ...
Gigi @ Сегодня, 16:27
, Только что пробовал так ...
хотя это не совсем то что нужно... так как это не модуль отчета, а модуль объекта отчета... но при нажатии на кнопку "Сформировать" ошибка...
Цитата(Gigi @ 16.07.20, 16:57)
так как это не модуль отчета, а модуль объекта отчета.
Тьфу ты ... не модуль формы, а модуль отчета... Просто ... дорогие друзья ... я могу конечно создать отчет и в нем и вовсе не создавать СКД и обойтись без него. А вместо этого создать произвольную форму отчета и там делать что угодно и как угодно оперируя с регом накопления по командам оборотов. Но это ведь нужно повозиться... создавать макет ... потом писать код заполнения в макет... Не охота на это тратить время. Проще воспользоваться СКД .. там все в готовом виде. Единственное что нужно как говорил это вставлять даты промежутков в зависимости от указанного на форме года и месяца... с 01... по 01. Вот что нужно. А в остальном все устраивает. СКД это ведь слишком удобно что бы программист не пользоваться им. Вот собственно и весь вопрос..
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0
СтандартнаяОбработка=Ложь;
-лишнее.
Если Вам нужно в модуле объекта отчета получать данные с формы - добавьте пару реквизитов отчета. Эти реквизиты можно заполнять на форме и они будут доступны в модуле объекта.
Правильно поставленный вопрос содержит до 90% ответа.
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0
Цитата(pablo @ 17.07.20, 9:05)
Эти реквизиты можно заполнять на форме и они будут доступны в модуле объекта
Ну эт понято... знаю... и заполонять то можно, но все равно ничего не выходит.... как с сервера(в модуле отчета), так и с клиента(в модуле формы отчета). А если говорить о модуле отчета то, после кнопки "Сформировать" ВЫДАЕТ ОШИБКУ:на этой линии:
Ошибка исполнения отчета по причине: Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата' по причине: {Отчет.Накопление_ЮрЛица_НачисленоОплачено_НаПериод.МодульОбъекта(5)}: Ошибка при вызове метода контекста (УстановитьЗначениеПараметра) ТекНастройки.ПараметрыДанных.УстановитьЗначениеПараметра("Дата",ТекущаяДата()); // Условно взята по причине: Параметр с указанным именем не найден
Короче и так тоже че то не работает. Не выезжаю почему ...
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0
pablo @ Сегодня, 9:30
,
Цитата(pablo @ 17.07.20, 9:30)
А какие у Вас есть параметры в СКД?
Обычные ... ничего особенного ... 1. Запрос выгрузки с рега накопления 2. Определение нужных столбцов отображения в таб.доке СКД 3. Определение даты промежутка Короче все как обычно.
Отлично! Работает! Как сам не догнал ... то что ошибка возникала из-за не правильного указания реквизитов дат. Просто я как то смотрел реквизиты на форме Отче.ПараметрыДанных, а там обнаружил "Дата", "ДатаНачала","ДатаОкончания" это меня запутало. Слишком многими другими задачами голова лопается. Оказывается нужно так как указано в параметрах СКД: "НачалоПериода","КонецПериода"... Вот как.. И вообще с СКД не очень дружил и практический не пользовался ... это что бы было больше свободы и меньше разных ограничений стандарта... вот почему. И тольо недавно решил пользоваться возможностями СКД. При условии что это не сильно ограничит свободу действий. Но представленное решение вопроса через модуль отчета конечно не на все сто устраивает,
Больше устраивало бы с клиента (в модуле формы). Но ладно... путь хотя бы так ...по кр. мере, это лучше чем ничего За что огромное Вам спасибо дорогие друзья! Ладно! Вопрос решен и тема думаю закрыта! Спасибо!
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0
Цитата(Gigi @ 17.07.20, 13:43)
Больше устраивало бы с клиента (в модуле формы).
Пардон! Только что прописал все что требовалось... и вообще что касается параметров СКД НачалоПериода/КонецПериода эти поля и вовсе скрыл на форме....Ну имею ввиду: Элементы.КомпоновщикНастроекПользовательскиеНастройки ... А потом создал уже свои реквизиты в отчете: Отчет.ДатаНачало,Отчет.ДатаКонец,Отчет.Год,Отчет.Месяц и еще числовой тип Отчет.ПараметрыОтчетногоПериода с переключением уже на форме: "Отчетный месяц", "Отчетный год" и "По промежутку дат". При чем если галка стоит на первом то на форме видимы только Отчет.Год,Отчет.Месяц; если на втором то только Отчет.Год; а если на третьем то Отчет.ДатаНачало, Отчет.ДатаКонец. При этом при изменении года месяца , равно как и опции "ПараметрыОтчетногоПериода " в полях: Отчет.ДатаНачало, Отчет.ДатаКонец автоматический вставляются нужный промежуток. А все остальное согласно предложенному тут решению... Вот как:
Но представленное решение вопроса через модуль отчета конечно не на все сто устраивает,
Пардон! Уже не так когда включил все поставленные задачи. Беру свои слова обратно! Очень устраивает... на все сто. Главное то что отвечает всем требованиям поставленных задач. Ладно! Еще раз огромное спасибо!
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!