Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 10:28

Получить реквизит документа в другом документе

Автор JOG, 24 апр 2015, 09:45

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

cska-fanat-kz

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

JOG

Я вот откопал в инете код со списком выбора. Остался только один вопрос: как мне обратиться к ТЧ(Должники) документа СпискаДолжников из документа Претензия?

Это мне необходимо для вот этого куска кода:

Для Каждого СтрокаТЗ Из ТЗ Цикл
       СтрокаТЗ.Комитет = СтрокаТЗ.НазваниеКомитета;
       МассивКомитетов.Добавить(СтрокаТЗ.Комитет);
   КонецЦикла;


Хотел сделать что то типа

ДокСписок = Документы.СписокДолжников;
ДокСписокТЧ = ДокСписок.Должники;

Но не работает такой код.

А так решение со списком выбора вот какое нашел(не по моей теме, но по мойму то, что нужно):

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

cska-fanat-kz

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

JOG

Тоже не вариант, т.к. в документе Претензия нет табличной части нет, а в СпискеДолжников данные берутся из табличной части. Или нет?

cska-fanat-kz

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

JOG


cska-fanat-kz

1. Обработкой?

2. Ну запрос к таблице ТЧ СписокДолжников с группировкой по должнику и суммированием суммы (простите за каламбур) и отбором по определенной ссылке, потом перебираете и программно создаете Претензии. Работы секунд на 30...

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

JOG

Цитата: cska-fanat-kz от 30 апр 2015, 13:01
1. Обработкой?

2. Ну запрос к таблице ТЧ СписокДолжников с группировкой по должнику и суммированием суммы (простите за каламбур) и отбором по определенной ссылке, потом перебираете и программно создаете Претензии. Работы секунд на 30...

3. Почему не подумать и в Претензии тоже не сделать ТЧ с должниками?

Именно так и делаю, по 2 пункту. Делаю запрос, делаю выборку, но к табличной части никакого доступа. А в отладчике никаких конкретных значений не получаю. Как делаю выборку, в отладчике отображается, что выбрана просто СписокДолжников.ТабличнаяЧасть.Дожники. Делал выгрузку колонки ФамилияДолжника, в отладчике просто  написанно в графе Значение "Массив". Не понимаю, как получить доступ к конкретным значениям, которые хранятся в ТЧ :(:(:(

cheiser1982

Как я понял из вышесказанного, вы создаете документ "Претензия" на основании документа "Список должников". Таким образом вы можете в свойствах документа "Претензия" указать "Ввод на основании" -> "Список должников" и сопоставить необходимые реквизиты.
Если же вы из документа "Список должников" программно открываете форму документа "Претензия" и создаете новый, то и передавайте необходимые данные в качестве параметров в открываемую форму. Передача параметров между формами неплохо описана в моей публикации: http://infostart.ru/public/347372/.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск