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

Автор Тема: Заполнение табчасти документа данными из запроса  (Прочитано 4462 раз)

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

Оффлайн Pinhet

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-13
  • Сайт: 
Здравствуйте. Я искал темы с похожими проблемами, но разобраться так и не смог. Я создал кнопку для автоматического заполнения полей табличной части документа и создал необходимый запрос, но не могу полученные данные заполнить в табчасть. Табличная часть имеет реквизит с ссылкой на справочник СтатьиОтчета, в котором указаны заполняемые поля. Пытался заполнять при помощи Выгрузить, но этот метод мне не подошел.


Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА РАЗНОСТЬДАТ(&Сегодня, ФизическиеЛица.ДатаРождения, ГОД) < 35
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК До35,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Занятость = &Работающий
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК Работающих,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА РАЗНОСТЬДАТ(&Сегодня, МестоПрофУчетаСрезПоследних.Период, ГОД) <= 1
        |                    И МестоПрофУчетаСрезПоследних.Действие = &ПринятНаУчет
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК ЗаОтчетныйГод,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Пол = &Женский
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК Женщин,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ФизическиеЛица.Ссылка) КАК Всего,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Занятость = &Аутсорсинг
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК Аутсорсинг,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Пол = &Женский
        |                    И МестоПрофУчетаСрезПоследних.Действие = &ПринятНаУчет
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК ЖенщиныЧленыПрофсоюза
        |ИЗ
        |    Справочник.ФизическиеЛица КАК ФизическиеЛица
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестоПрофУчета.СрезПоследних КАК МестоПрофУчетаСрезПоследних
        |        ПО (МестоПрофУчетаСрезПоследних.ЧленПрофсоюза = ФизическиеЛица.Ссылка)
        |ГДЕ
        |    ФизическиеЛица.Владелец = &ППО";
   
    Запрос.УстановитьПараметр("Аутсорсинг", Перечисления.Занятость.Аутсорсинг);
    Запрос.УстановитьПараметр("Женский", Перечисления.ПолФизическогоЛица.Ж);
    Запрос.УстановитьПараметр("ППО", Справочники.ТипОрганизации.ППО);
    Запрос.УстановитьПараметр("ПринятНаУчет", Перечисления.ПринятСнят.Принят);
    Запрос.УстановитьПараметр("Работающий", Перечисления.Занятость.Работающий);
    Запрос.УстановитьПараметр("Сегодня", Объект.Дата);
   
    РезультатЗапроса = Запрос.Выполнить();
   
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    КонецЦикла;



Оффлайн DmitriyF

  • *****
  • Сообщений: 729
  • РЕПУТАЦИЯ: 48
  • КПД: 7%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
Здравствуйте. Я искал темы с похожими проблемами, но разобраться так и не смог. Я создал кнопку для автоматического заполнения полей табличной части документа и создал необходимый запрос, но не могу полученные данные заполнить в табчасть. Табличная часть имеет реквизит с ссылкой на справочник СтатьиОтчета, в котором указаны заполняемые поля. Пытался заполнять при помощи Выгрузить, но этот метод мне не подошел.


Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА РАЗНОСТЬДАТ(&Сегодня, ФизическиеЛица.ДатаРождения, ГОД) < 35
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК До35,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Занятость = &Работающий
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК Работающих,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА РАЗНОСТЬДАТ(&Сегодня, МестоПрофУчетаСрезПоследних.Период, ГОД) <= 1
        |                    И МестоПрофУчетаСрезПоследних.Действие = &ПринятНаУчет
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК ЗаОтчетныйГод,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Пол = &Женский
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК Женщин,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ФизическиеЛица.Ссылка) КАК Всего,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Занятость = &Аутсорсинг
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК Аутсорсинг,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Пол = &Женский
        |                    И МестоПрофУчетаСрезПоследних.Действие = &ПринятНаУчет
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК ЖенщиныЧленыПрофсоюза
        |ИЗ
        |    Справочник.ФизическиеЛица КАК ФизическиеЛица
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестоПрофУчета.СрезПоследних КАК МестоПрофУчетаСрезПоследних
        |        ПО (МестоПрофУчетаСрезПоследних.ЧленПрофсоюза = ФизическиеЛица.Ссылка)
        |ГДЕ
        |    ФизическиеЛица.Владелец = &ППО";
   
    Запрос.УстановитьПараметр("Аутсорсинг", Перечисления.Занятость.Аутсорсинг);
    Запрос.УстановитьПараметр("Женский", Перечисления.ПолФизическогоЛица.Ж);
    Запрос.УстановитьПараметр("ППО", Справочники.ТипОрганизации.ППО);
    Запрос.УстановитьПараметр("ПринятНаУчет", Перечисления.ПринятСнят.Принят);
    Запрос.УстановитьПараметр("Работающий", Перечисления.Занятость.Работающий);
    Запрос.УстановитьПараметр("Сегодня", Объект.Дата);
   
    РезультатЗапроса = Запрос.Выполнить();
   
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    КонецЦикла;
Как пробовали вставить весь код пожалуйста

Оффлайн Pinhet

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-13
  • Сайт: 

Как пробовали вставить весь код пожалуйста

Объект.ПрофЧленство.Очистить();	
ЗаполнитьПрофЧленство();

//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА РАЗНОСТЬДАТ(&Сегодня, ФизическиеЛица.ДатаРождения, ГОД) < 35
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК До35,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Занятость = &Работающий
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК Работающих,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА РАЗНОСТЬДАТ(&Сегодня, МестоПрофУчетаСрезПоследних.Период, ГОД) <= 1
        |                    И МестоПрофУчетаСрезПоследних.Действие = &ПринятНаУчет
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК ЗаОтчетныйГод,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Пол = &Женский
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК Женщин,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ФизическиеЛица.Ссылка) КАК Всего,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Занятость = &Аутсорсинг
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК Аутсорсинг,
        |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВЫБОР
        |            КОГДА ФизическиеЛица.Пол = &Женский
        |                    И МестоПрофУчетаСрезПоследних.Действие = &ПринятНаУчет
        |                ТОГДА ФизическиеЛица.Ссылка
        |        КОНЕЦ) КАК ЖенщиныЧленыПрофсоюза
        |ИЗ
        |    Справочник.ФизическиеЛица КАК ФизическиеЛица
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестоПрофУчета.СрезПоследних КАК МестоПрофУчетаСрезПоследних
        |        ПО (МестоПрофУчетаСрезПоследних.ЧленПрофсоюза = ФизическиеЛица.Ссылка)
        |ГДЕ
        |    ФизическиеЛица.Владелец = &ППО";
   
    Запрос.УстановитьПараметр("Аутсорсинг", Перечисления.Занятость.Аутсорсинг);
    Запрос.УстановитьПараметр("Женский", Перечисления.ПолФизическогоЛица.Ж);
    Запрос.УстановитьПараметр("ППО", Справочники.ТипОрганизации.ППО);
    Запрос.УстановитьПараметр("ПринятНаУчет", Перечисления.ПринятСнят.Принят);
    Запрос.УстановитьПараметр("Работающий", Перечисления.Занятость.Работающий);
    Запрос.УстановитьПараметр("Сегодня", Объект.Дата);


РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Объект.ПрофЧленство.Загрузить(Запрос.Выполнить().Выгрузить());
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

КонецЦикла;     

//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

Сообщить("Таблица №2 заполнена",СтатусСообщения.Информация);

Оффлайн DmitriyF

  • *****
  • Сообщений: 729
  • РЕПУТАЦИЯ: 48
  • КПД: 7%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
а в запросе вы где получаете данные с типом справочник.статьиотчета? Запрос вообще выполняется что получается в таблице значений?

Оффлайн Pinhet

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-13
  • Сайт: 
а в запросе вы где получаете данные с типом справочник.статьиотчета? Запрос вообще выполняется что получается в таблице значений?
Сам запрос я проверял через консоль запросов. Он нормально работает: выводит количество членов профсоюза, сколько среди них женщин и т.д. Я не знаю, как в дпнном случае вывести полученную запросом информацию в существующую табличную часть. Данные с типом справочник.статьиотчета в запросе не получал.

Оффлайн DmitriyF

  • *****
  • Сообщений: 729
  • РЕПУТАЦИЯ: 48
  • КПД: 7%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
ВАШИ СЛОВА "Табличная часть имеет реквизит с ссылкой на справочник СтатьиОтчета, в котором указаны заполняемые поля." Если вы пытаетесь в эту табличную часть загрузить данные с другим типом то удачи.

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

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

<<Какой-то Док>>
-<<ЕгоТЧ>>
--<<Реквизит типа Спр.СтатьиОтчета>>
---<<Реквизит элемента спр До35>>
...и т.д.

так?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
есть такая замечательная конструкция

КакаяТоТабличнаяЧасть.Загрузить(Запрос.Выполнить().Выгрузить());

при этом в ТЗ получаемой из запроса, колонки (не обязательно все) должны совпадать по Имени и Типу с колонками ТЧ, если такие колонки есть то произойдет автоматическое перезаполнение ТабличнойЧасти.
Все остальные колонки, которые не совпали по Имени и Типу, останутся пустыми.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Pinhet

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-13
  • Сайт: 
есть такая замечательная конструкция

КакаяТоТабличнаяЧасть.Загрузить(Запрос.Выполнить().Выгрузить());

при этом в ТЗ получаемой из запроса, колонки (не обязательно все) должны совпадать по Имени и Типу с колонками ТЧ, если такие колонки есть то произойдет автоматическое перезаполнение ТабличнойЧасти.
Все остальные колонки, которые не совпали по Имени и Типу, останутся пустыми.

Структуру ваших объектов проясните сперва.

<<Какой-то Док>>
-<<ЕгоТЧ>>
--<<Реквизит типа Спр.СтатьиОтчета>>
---<<Реквизит элемента спр До35>>
...и т.д.
Форма 1
ТЧ ПрофЧленство имеет реквизит спр.статьиотчета и всего.

Не подскажите, как можно на прямую присвоить строкам в ТЧ значения из запроса. Я знаю, что так можно, но не могу найти эту функцию.



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

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

если наименования полей запроса и ТЧ совпадают, то подойдет простой метод Загрузить().
в противном случае только цикл по выборке из запроса и ручное заполнение ТЧ.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

Автор EHOTРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 4469
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7734
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
"Не совпадают сумма документа и общая сумма по платежным ведомостям"

Автор yunovoРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4768
Последний ответ 11 Янв 2015, 02:55
от MuI_I_Ika
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 8478
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Фамилия руководителя в печатных формах документа "Акт сверки", "Акт об оказании"

Автор MKozzlikРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 7329
Последний ответ 03 Фев 2012, 17:27
от Dinah

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

* Последние вакансии

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
166 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
36 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal