Имя: Пароль:
1C
 
Заполнение табличной части Документа.
, , ,
0 Novi4ek2015
 
06.03.15
15:29
Добрый День!1с 8.2 УТ 10.3.
При нажатии на кнопку в документе Должен открываться документ Корректировка Задолженности:Перенос Задолженности, и заполняться автоматически данными из документа на котором кнопка. Открывается КОрректировка Задолженности:ПереносЗадолженности. Шапка заполняется, но табличное поле пустое. А если открыть Корректировку задолженности, через вид операции, то там заполненно. Как сделать,чтобы заполнялось табличное поле именно в Документе КорретировкеЗадолженности, вид Операции:ПереносЗадолженности.
Если Работы.Количество()>0 Тогда
        ЭтоНовыйДок = Истина;
ДокументКорректировкаДолгаСсылка =  НайтиДокументВСписке("КорректировкаДолга");
Если ДокументКорректировкаДолгаСсылка="" Тогда
ДокументКорректировкаДолга = Документы.КорректировкаДолга.СоздатьДокумент();    
ДокументКорректировкаДолга.ВидОперации =Перечисления.ВидыОперацийКорректировкаДолга.ПереносЗадолженности;
ДокументКорректировкаДолга.Организация = Организация;
ДокументКорректировкаДолга.Дата = ТекущаяДата();
ДокументКорректировкаДолга.УстановитьНовыйНомер();
  
//Реквизиты Шапки
                
                ДокументКорректировкаДолга.КонтрагентДебитор   = Контрагент;
                ДокументКорректировкаДолга.КонтрагентКредитор =   Справочники.Контрагенты.НайтиПоНаименованию("БЛАУНТ");
                ДокументКорректировкаДолга.ДоговорКонтрагента   = ДоговорКонтрагента;
                ДокументКорректировкаДолга.ВалютаДокумента = Справочники.Валюты.НайтиПоНаименованию("руб");
                ДокументКорректировкаДолга.ОтражатьВБухгалтерскомУчете = Истина;
                ДокументКорректировкаДолга.ОтражатьВНалоговомУчете = Истина;
                ДокументКорректировкаДолга.ОтражатьВУправленческомУчете = Истина;
    Иначе
                ДокументКорректировкаДолга =  ДокументКорректировкаДолгаСсылка.ПолучитьОбъект();   ЭтоНовыйДок=Ложь;
                ДокументКорректировкаДолга.Дата             = ТекущаяДата();

        КонецЕсли;

        Для каждого СтрокаТЧ Из Работы  Цикл
                СтрокаДокументаКорректировкаДолгаВидОперации = ДокументКорректировкаДолга.СуммыДолга.Добавить();
        
                СтрокаДокументаКорректировкаДолгаВидОперации.ДоговорКонтрагента         = ДоговорКонтрагента;

                СтрокаДокументаКорректировкаДолгаВидОперации.Сумма           =СтрокаТЧ.Цена;
        КонецЦикла;
        

      ДокументКорректировкаДолга.Записать();
        ДокументКорректировкаДолга.ПолучитьФорму().Открыть();


   КонецЕсли;
    КонецЕсли;
1 Novi4ek2015
 
06.03.15
16:05
Нужна помощь....
2 D_E_S_131
 
06.03.15
16:12
Вот интересно, почему многим не судьба писать в коде

Если Работы.Количество() = 0 Тогда
   Возврат;
КонецЕсли;


А обязательно надо эти вложенности плодить?
3 Novi4ek2015
 
06.03.15
16:13
Просто надо чтобы сразу сразу открывался документ Перенос заолженности
4 Ёпрст
 
06.03.15
16:13
(2) возможно, разработчик думал о ветке ИначеЕсли или Иначе..потом
5 D_E_S_131
 
06.03.15
16:15
(4) Есть в этом сильное сомнение. Даже из логики понятно, что списывают с покупателя долг за работы.
6 Novi4ek2015
 
06.03.15
16:18
ДА, происходит списание долга.
7 Novi4ek2015
 
06.03.15
16:23
И как сделать, чтобы заполнилась табличная часть В Переносе Задолженности?
8 anatoly
 
06.03.15
16:24
позвать программиста не предлагать?
9 Novi4ek2015
 
06.03.15
16:26
Спасибо, за помощь.Думаю за этим сюда и пишут!!!!
10 anatoly
 
06.03.15
16:29
ты вопрос формулируй корректно для начала.

А если открыть Корректировку задолженности, через вид операции, то там заполненно.

вот это как понимать??
11 Novi4ek2015
 
06.03.15
16:34
При нажатии на кнопку открывается: Корректировка задолженности:Перенос Задолженности, но табличная часть не заполнена(договор, цена и т.д.).А заполняется Корректировка Задолженности, которая стоит по умолчаению: Проведение Взаиморасчета.
12 D_E_S_131
 
06.03.15
16:47
НайтиДокументВСписке("КорректировкаДолга")

Это тоже твое "изделие"? Если да, то код дай.
13 Novi4ek2015
 
06.03.15
16:56
Корректировка долга,это стандартный документ
14 D_E_S_131
 
06.03.15
17:02
(13) Я понимаю, но вопрос про функцию НайтиДокументВСписке("КорректировкаДолга").
15 Novi4ek2015
 
06.03.15
17:12
Для каждого СтрокаДок Из тчДокументы Цикл
        Если ТипЗнч(СтрокаДок.ткДокумент) = Тип("ДокументСсылка."+ВидДокумента) Тогда
            Возврат СтрокаДок.ткДокумент.Ссылка;
        КонецЕсли;    
    КонецЦикла;
    
    Возврат "";
16 D_E_S_131
 
06.03.15
17:14
(15) Т.е. в твоем документе есть еще табличная часть "тчДокументы", в котором может быть уже занесена КорректировкаДолга?
17 Novi4ek2015
 
12.03.15
13:27
табличная часть "тчДокументы" , это табличная часть документа, из которого создается новый документ:Корректировка Долга. И в олну из вкладок, после проведения документа Кореектировка долга, создается ссылка на документ.Поэтому это особо не играет роли