Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> СКД - не понятная ошибка , Отчет на СКД для УФ          
kserg2012 Подменю пользователя
сообщение 18.12.21, 14:52
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 98
Спасибо сказали: 14 раз
Рейтинг: 14.3

Добрый день

Платформа 8.3.15.1778
BAS 2.1.16.1
База серверная

Ранее был разработан самописный отчет для Обычных форм для конф-ции УТ на базе СКД.
В качестве источника данных в СКД(ОсновнаяСхемаКомпоновкиДанных) используется "Набор данных-объект",
в который после расчетов помещается таблица значений "ЗадолженностьТаблица"
ВнешниеНаборыДанных.Вставить("ЗадолженностьТаблица", ЗадолженностьТаблица);

Еще особенность отчета в том, что для первичного отбора данных используется ПостроительОтчета.
где Пользователь может задать начальные условия отбора, чтобы ограничить обрабатываемые данные.

При формировании отчета в Процедура ПриКомпоновкеРезультата()
вначале получаются данные Построителя и далее выполняется дополнительный расчет, формируется ТЗ с данными отчета


Попросили меня бухгалтера сделать такой же отчет для Бухгалтерия предприятия, только эта конфа на УФ.

Переделал отчет под УФ.
Т.к. под УФ объект ПостроительОтчета не доступен, пришлось в качестве Отбора первичных данных использовать дополнительный СКДОтбора.

Всё вроде получилось, в отладчике проверил - код в отладчике работает, проходит до последней строки процедуры, но на выходе имеем
Ошибка исполнения отчета по причине: Поле не найдено "Регистратор"

Не могу понять, о чем говорит эта ошибка.
Да, в ОсновнаяСхемаКомпоновкиДанных есть такое измерение и оно настроено, в ТЗ ЗадолженностьТаблица оно имеется и данные заполнены,
но о каком ненайденном поле "Регистратор" идет речь не понимаю.

kserg2012 Подменю пользователя
сообщение 18.12.21, 20:47
Сообщение #2

Говорящий
***
Группа: Пользователи
Сообщений: 98
Спасибо сказали: 14 раз
Рейтинг: 14.3

kserg2012 @ Сегодня, 14:52 * ,
Люди добрые, сам я неместный, скд мало знаю...
Помогите кто чем может
Спасибо

TohaMonster Подменю пользователя
сообщение 19.12.21, 12:20
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 70
Спасибо сказали: 29 раз
Рейтинг: 29

Тяжко так помочь, не видя запросов: телепатические способности в конце года на исходе.
В СКД часто бывает такая фишка: автоматом поле Регистратор (на первой вкладке "Наборы данных") получает Роль "Период". Тогда как по логике использования Автор задумывал, что ето Измерение. Попробуйте, если у Вас там "Период" изменить роль на "Измерение"

kserg2012 Подменю пользователя
сообщение 20.12.21, 9:08
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 98
Спасибо сказали: 14 раз
Рейтинг: 14.3

Цитата(TohaMonster @ 19.12.21, 12:20) *
Попробуйте, если у Вас там "Период" изменить роль на "Измерение"

проверил - у поля Регистратор Роль Измерение
меня смущает тот факт, что в отчете имеется 2 макета СКД, хотя они и не связаны
при этом в доп СКДОтбор как раз нет поля Регистратор из основного СКД

и еще - может подскажите, чем еще можно(кроме СКД) заменить ПостроительОтчета.Отбор в УФ ?

sava1 Подменю пользователя
сообщение 20.12.21, 9:59
Сообщение #5

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

используйте просто СКД - забудьте про построитель

kserg2012 Подменю пользователя
сообщение 20.12.21, 10:10
Сообщение #6

Говорящий
***
Группа: Пользователи
Сообщений: 98
Спасибо сказали: 14 раз
Рейтинг: 14.3

Цитата(sava1 @ 20.12.21, 9:59) *
используйте просто СКД - забудьте про построитель

я так и поступил, другого решения не увидел
но в итоге имею проблему, когда в отчете есть 2 макета СКД и похоже, что основная схема глючит из-за второй СКДОбор

TohaMonster Подменю пользователя
сообщение 20.12.21, 10:13
Сообщение #7

Говорящий
***
Группа: Пользователи
Сообщений: 70
Спасибо сказали: 29 раз
Рейтинг: 29

Возможно, отбор, помещенный на Форме у Вас привязан не к СКДОтбор, а к основной СКД?
А нельзя все действия, которые выполняются при формировании таблицы значения для основной СКД выполнить в запросе? То есть, получить на выходе одну СКД с одним отбором?

kserg2012 Подменю пользователя
сообщение 20.12.21, 10:22
Сообщение #8

Говорящий
***
Группа: Пользователи
Сообщений: 98
Спасибо сказали: 14 раз
Рейтинг: 14.3

kserg2012 @ Сегодня, 10:10 * ,
повторюсь
изначально в отчете под Обычные формы в отчете был ПостроительОтчета и ОсновнаяСхемаКомпоновкиДанных,
которые (как объекты отчета) между собой никак не были связаны



Цитата(TohaMonster @ 20.12.21, 10:13) *
То есть, получить на выходе одну СКД с одним отбором

думаю, что так можно получить в одном основном СКД
но тогда формирование ЗадолженностьТаблица (а при ее заполнении есть доп.запрос + расчет) будет происходить по всем долговым договорам покупателей,
а это существенно увеличивает время формирования отчета

оптимальнее - применить отбор, получить некий первичный набор данных и по нему уже рассчитать и заполнить ЗадолженностьТаблица


 ! 

Правила: 8
 


Сообщение отредактировал Vofka - 20.12.21, 10:28

sava1 Подменю пользователя
сообщение 20.12.21, 10:29
Сообщение #9

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(kserg2012 @ 20.12.21, 10:22) *
оптимальнее - применить отбор, получить некий первичный набор данных и по нему уже рассчитать и заполнить ЗадолженностьТаблица


кто Вам сказал, что так оптимальнее? СКД иногда делает оптимальнее.
Вы не можете применить отборы в СКД ?

kserg2012 Подменю пользователя
сообщение 20.12.21, 10:38
Сообщение #10

Говорящий
***
Группа: Пользователи
Сообщений: 98
Спасибо сказали: 14 раз
Рейтинг: 14.3

Цитата(sava1 @ 20.12.21, 10:29) *
Вы не можете применить отборы в СКД ?

согласен, могу применить и это работает, я это понимаю

но еще раз обращаю ваше внимание - что используется "Набор данных-объект",
в который после расчетов помещается таблица значений "ЗадолженностьТаблица"

т.е. прежде чем СКД применит установленные отборы в алгоритме необходимо обойти все долговые договора,
и по каждому из них рассчитать и заполнить таблицу движений (в которую помещаются долговые документы и рассчитывается обычный и просроченный долг)

и уже когда эта ТЗ будет помещена в СКД, только тогда будет применен отбор СКД

или я не правильно понимаю как работает в данном случае СКД?

TohaMonster Подменю пользователя
сообщение 20.12.21, 10:59
Сообщение #11

Говорящий
***
Группа: Пользователи
Сообщений: 70
Спасибо сказали: 29 раз
Рейтинг: 29

Цитата(kserg2012 @ 20.12.21, 11:38) *
и уже когда эта ТЗ будет помещена в СКД, только тогда будет применен отбор СКД

Совсем не обязательно. Делаете первым Запросом в своей новой СКД что-то типа
ВЫБРАТЬ
    Контрагенты.Ссылка
ПОМЕСТИТЬ ВТКонтрагенты
ИЗ
    Справочник.Контрагенты КАК Контрагенты
{ГДЕ
    Контрагенты.Ссылка.* КАК Контрагент}

То есть, на закладке "Компоновка данных" данной временной таблицы сразу ставите условия, которые потом придут из Отбора СКД

А дальше, в основном запросе, формирующем выходную таблицу, добавляете что-то вроде
...ГДЕ Взаиморасчеты.Контрагент В (ВЫБРАТЬ ВТКонтрагенты.Ссылка ИЗ ВТКонтрагенты)...


Попробуйте, Вам понравится: 1 СКД - ето почти всегда лучше, чем 2 СКД

А причину того, почему не работает Ваш вариант, всё еще трудно понять: ведь Вы нам показали только рабочую версию на обычных формах. А как Вы его переделали на управляемых - не совсем понятно

sava1 Подменю пользователя
сообщение 20.12.21, 12:13
Сообщение #12

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(kserg2012 @ 20.12.21, 10:38) *
но еще раз обращаю ваше внимание - что используется "Набор данных-объект",
в который после расчетов помещается таблица значений "ЗадолженностьТаблица"


Есть 2 варианта
1 - Вы все запросы помещаете в СКД и там формируете отчет
2 - вместо построителя добавляете еще один макет СКД, его отборы на форму, компонуете в ТЗ и передаете второй СКД

alex1c Подменю пользователя
сообщение 20.12.21, 15:37
Сообщение #13

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

Посмотрите в УПП отчет ПланФактныйАнализСебестоимостиВыпуска. там аналогично делается.

kserg2012 Подменю пользователя
сообщение 21.12.21, 8:59
Сообщение #14

Говорящий
***
Группа: Пользователи
Сообщений: 98
Спасибо сказали: 14 раз
Рейтинг: 14.3

alex1c @ Вчера, 15:37 * ,
Други мои, всем спасибо за участие в обсуждение и советы.

Уже из своего опыта знаю,что иной раз "обсудить" проблему с коллегой - уже 50% её решения...
и второй такой момент (также мною подмечено) - надо с проблемой "переспать", и бывает решение приходит

в моем случае - злую шутку сыграло моя невнимательность
уже не помню как и откуда и натаскивал куски кода (у меня в качестве источников использовались 2 отчета и обработка)
но у меня оказалась вот такая глупая команда

СтандартнаяОбработка = Истина;

исправил на Ложь - и отчет заработал! на 2-х скд!
счас пробую сделать (по совету коллег) на одном скд и не париться с отборами

как говорит мой шеф - чудес не бывает, а бывают ляпы и баги программиста smile.gif

еще раз спасибо

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 22:51
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!