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

Автор Тема: Помогите найти ошибку  (Прочитано 2938 раз)

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

Оффлайн Бестия

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-09-28
  • Сайт: 
Процедура Сформировать()
   ИтДт = СоздатьОбъект("БухгалтерскиеИтоги");
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Справка");
   Таб.ВывестиСекцию("Шапка");
   // ========== ТЗ дебиторов ========================
   ТЗ = СоздатьОбъект("ИндексированнаяТаблица");
   ТЗ2= СоздатьОбъект("ИндексированнаяТаблица");
   ТЗ.НоваяКолонка("Контрагент");         
   ТЗ.НоваяКолонка("Договор");//,"Документ.Договор"
   ТЗ.НоваяКолонка("Счет");//"Строка",4
   ТЗ.НоваяКолонка("ВидДоговора");
   ТЗ.НоваяКолонка("Дата");
   ТЗ.НоваяКолонка("СКД");    //"Число",15,2
   ТЗ.НоваяКолонка("СКК");    //, "Число",15,2
   ТЗ.НоваяКолонка("Документ");
   
   БВ=СоздатьОбъект("ТаблицаЗначений");
   БВ.НоваяКолонка("НомерДок");
   БВ.НоваяКолонка("ДатаДок");
   БВ.НоваяКолонка("Договор");
   БВ.НоваяКолонка("Объект");
   //Если глПроверкаИнтервалаОтчета(,ДатаКон) = 0 Тогда
   //   Возврат;
   //КонецЕсли;
   
   ИтДт.ВключатьСубсчета(0);                         
   
   СчетСубк = ("6852;6854;361;631;371;3772");
   //Все вышеуказанные счета имеют два вида субконто
   //1. Субконто = Контрагенты
   //2. Субконто = Заказы - договор
   Сч[1]="6852";
   Сч[2]="6854";
   Сч[3]="361";
   Сч[4]="631";
   Сч[5]="371";
   Сч[6]="3772";
   
   глУстПропись(Гривня);
   Д=СоздатьОбъект("Документ");
   // == Заполнение по счетам 361;3711;3772 ==========
   Для Счета=1 По 6 Цикл
      ИтДт.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1);
      ИтДт.ИспользоватьСубконто(ВидыСубконто.Заказы,,1);
      
      Если ИтДт.ВыполнитьЗапрос('01.12.06',ДатаКон,Сч[Счета]) = 0 Тогда
         Возврат;
      КонецЕсли;
      
      ИтДт.ВыбратьСчета();
      Пока ИтДт.ПолучитьСчет() = 1 Цикл
         СчетТек=ИтДт.Счет;
                  
         ИтДт.ВыбратьСубконто(1,,,,1);
         Пока ИтДт.ПолучитьСубконто(1) = 1 Цикл
            Если (ИтДт.СКД()=0) И (ИтДт.СКК()=0) Тогда
               Продолжить;
            КонецЕсли;
            ИтДт.ВыбратьСубконто(2,,,,1);
            Пока ИтДт.ПолучитьСубконто(2) = 1 Цикл
               Если (ИтДт.СКД()=0) И (ИтДт.СКК()=0) Тогда
                  Продолжить;
               КонецЕсли;
               
               ТЗ.НоваяСтрока();
               ТЗ.Контрагент = ИтДт.Субконто(1);
               ТЗ.Договор = ИтДт.Субконто(2);
               
               ТЗ.Счет = СокрЛП(ИтДт.Счет);
               Если ИтДт.Субконто(2).вид()="Договор" Тогда
               Если Счета=2 Тогда
               Д=ИтДт.Субконто(2).ТекущийДокумент();
   ВОТ ГДЕ ТО ТУТ         если Д.ВыбратьПодчиненныеДокументы(,,Д.ТекущийДокумент())=1 Тогда
                        Пока д.ПолучитьДокумент()=1 Цикл
                           
                           Если д.Вид()="БанковскаяВыписка" Тогда
                              ТЗ.Дата=д.ДатаДок;
                           КонецЕсли;
                        КонецЦикла;
                     КонецЕсли;
                  КонецЕсли;
                  ТЗ.ВидДоговора = ИтДт.Субконто(2).ВидДоговора;
               иначе
                  ТЗ.ВидДоговора = ИтДт.Субконто(2);
               конецесли;
               
               ТЗ.СКД = ИтДт.СКДРС();
               ТЗ.СКК = ИтДт.СККРС();
               
               //Если (Счета=1) или (Счета=4) или (Счета=5) или (Счета=6) Тогда
               //   ТЗ.Дата=ИтДт.Субконто(2).ДатаДок;
               
         //Иначеесли Счета=2 Тогда
               
                  //   ИтДт.ВыполнитьЗапрос(,,"6854","3774");
                  //Сообщить(ИтДт.Операция.Документ.ТекущийДокумент());
                  
               //Иначе
                  
               //КонецЕсли;
            КонецЦикла;
         КонецЦикла;
         //КонецЕсли;
         
      КонецЦикла;
   КонецЦикла;
   //БВ.ВыбратьСтроку();
   ТЗ.Свернуть("Контрагент,Договор,Счет,ВидДоговора,Дата","СКД,СКК");
   
   ТЗ.ВыбратьСтроку();
   ТЗ.Сортировать("Контрагент,Договор,Счет,ВидДоговора,Дата");
   ТЗ.Группировать("Контрагент:Контрагент","Договор,Дата,Счет,ВидДоговора",1);
   ТЗ.ВыбратьСтроки();
   Пока ТЗ.ПолучитьСтроку() = 1 Цикл
      ТЗ.тзПотомки.Выгрузить(ТЗ2);
      Таб.ВывестиСекцию("Группа");
      
      ТЗ2.ВыбратьСтроки();
      Пока ТЗ2.ПолучитьСтроку()=1 Цикл
         Таб.ВывестиСекцию("Строка");
      КонецЦикла;
      
      
   КонецЦикла;
   Таб.ВывестиСекцию("Подвал");
   Таб.Показать();
конецпроцедуры

Ошибка
если Д.ВыбратьПодчиненныеДокументы(,,Д.ТекущийДокумент())=1 Тогда
 Объект не может быть перепозиционирован!


Может кто то знает, как мне по счету 6854 найти операцию (в моем случае это банковская выписка, которая подчиняеется договору ) и соответсвенно получить дату первой БВ внезависимости от количества БВ. Просто дату первой и записать её в ТЗ. Спасибки.


Оффлайн DenPlus

  • ***
  • Сообщений: 106
  • РЕПУТАЦИЯ: 64
  • КПД: 60%
  • Регистрация: 2010-10-27
  • Компания: www.cosmocat.ru
Д=ИтДт.Субконто(2).ТекущийДокумент();
   ВОТ ГДЕ ТО ТУТ         если Д.ВыбратьПодчиненныеДокументы(,,Д.ТекущийДокумент())=1 Тогда

ВыбратьПодчиненныеДокументы() - Метод  можно использовать только для объектов, созданных функцией СоздатьОбъект.

Используйте:
Док = СоздатьОбъект("Документ...");
Если Док.НайтиДокумент(Д) = 1 Тогда
 ПродолжаемРаботатьс Д
КонецЕсли;

Оффлайн DenPlus

  • ***
  • Сообщений: 106
  • РЕПУТАЦИЯ: 64
  • КПД: 60%
  • Регистрация: 2010-10-27
  • Компания: www.cosmocat.ru
Сорри. ПродолжаемРаботать с "уже Док"


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
70 Сообщений
LexaK
36 Сообщений
oooo800
30 Сообщений
Дмитрий Джей Дмитрий Джей
22 Сообщений
DmitriyF DmitriyF
16 Сообщений
IL2016
16 Сообщений
Ann_
16 Сообщений
antoneus antoneus
15 Сообщений
SoOliateR
15 Сообщений
мадам брошкина
13 Сообщений

* Кто онлайн

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal