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

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

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 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
160 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
56 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
35 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
27 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal