Проводки в документе

Форум 1С: Одинэс.Ру

Найти!

Проводки в документе

JuliaT
09.06.2009 - 11:34
Процедура КнопкаВыполнитьНажатие(Кнопка)
Док = Метаданные.Документы;
Для Сч=0 по Метаданные.Документы.Количество()-1 Цикл
     ВидДок=Док[сч];
     Документ = Документы[ВидДок.имя] ;
     Выборка = Документ.Выбрать(НачПериода,КонецДня(КонПериода)) ;
     Пока Выборка.Следующий() Цикл
ТекДок=Выборка.ПолучитьОбъект();
Если ТекДок.Движения.Найти("Хозрасчетный")<>Неопределено тогда
Сообщить (ТекДок+" "+ТекДок.Движения.Хозрасчетный.Количество());
КонецЕсли;
    КонецЦикла;
КонецЦикла;
КонецПроцедуры
Вопрос: Почему ТекДок.Движения.Хозрасчетный.Количество() всегда равно нулю, даже если проводки у документа есть?
К списку тем К списку форумов

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

odines.ru
21.11.2024 - 13:27
Смотри также:
v8: Обработка табличных частей УТ
Ищу хорошего тренера по 1С Предприятие 8.1 :-)
сверхестественное

Re: Проводки в документе

JuliaT
1 - 09.06.2009 - 11:38
Еще раз.
Процедура КнопкаВыполнитьНажатие(Кнопка)
Док = Метаданные.Документы;
Для Сч=0 по Метаданные.Документы.Количество()-1 Цикл
     ВидДок=Док[сч];
     Документ = Документы[ВидДок.имя] ;
     Выборка = Документ.Выбрать(НачПериода,КонецДня(КонПериода)) ;
     Пока Выборка.Следующий() Цикл
       ТекДок=Выборка.ПолучитьОбъект();
       Если ТекДок.Движения.Найти("Хозрасчетный")<>Неопределено тогда
         Сообщить (ТекДок+" "+ТекДок.Движения.Хозрасчетный.Количество());
       КонецЕсли;
    КонецЦикла;
КонецЦикла;
КонецПроцедуры
 
Вопрос: Почему ТекДок.Движения.Хозрасчетный.Количество() всегда равно нулю, даже если проводки у документа есть?

Re: Проводки в документе

roma n
2 - 09.06.2009 - 11:43
КоллекцияДвижений (RegisterRecordsCollection)
<Имя регистра>
Использование:
Только чтение.
Описание:
Тип: Набор записей регистра. Набор свойств содержит менеджеры регистров
=======
Прочитай набор и всё встанет на свои места

Re: Проводки в документе

JuliaT
3 - 09.06.2009 - 12:15
Сделала так:
Док = Метаданные.Документы;
Проводки = РегистрыБухгалтерии.Хозрасчетный;
Для Сч=0 по Метаданные.Документы.Количество()-1 Цикл
   ВидДок=Док[сч];
   Документ = Документы[ВидДок.имя] ;
   Выборка = Документ.Выбрать(НачПериода,КонецДня(КонПериода)) ;
   Пока Выборка.Следующий() Цикл
      ТекДок=Выборка.ПолучитьОбъект();
      Если ТекДок.Движения.Найти("Хозрасчетный") <> Неопределено тогда
         НаборЗаписей = Проводки.СоздатьНаборЗаписей();
         Докум = НаборЗаписей.Отбор.Регистратор;
         Докум.Установить(ТекДок);
         НаборЗаписей.Прочитать();
Сообщить(ТекДок.Номер+" "+НаборЗаписей.Выгрузить().Количество());
      КонецЕсли;
   КонецЦикла;
КонецЦикла;
Результат тот же!!!! Ничего не понимаю !!!!

Re: Проводки в документе

roma n
4 - 09.06.2009 - 12:24
ТекДок в (3) у тебя имеет тип ДокументОбъект. А отбор кушает ДокументСсылка

Re: Проводки в документе

roma n
5 - 09.06.2009 - 12:35
+(4) и будь проще
Док = Метаданные.Документы;
Для Сч=0 по Метаданные.Документы.Количество()-1 Цикл
     ВидДок=Док[сч];
     Документ = Документы[ВидДок.имя] ;
     Выборка = Документ.Выбрать('20090505',КонецДня('20090505')) ;
     Пока Выборка.Следующий() Цикл
       ТекДок=Выборка.ПолучитьОбъект();
   Если ТекДок.Движения.Найти("Хозрасчетный")<>Неопределено тогда
   Проводки = ТекДок.Движения.Хозрасчетный;
   Проводки.Прочитать();
  
         Сообщить (""+ТекДок+" "+Проводки.Количество());
       КонецЕсли;
    КонецЦикла;
КонецЦикла;

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

odines.ru
21.11.2024 - 13:27
Смотри также:
V8: Табличная часть документа
Существует ли такая обработка переноса данных?
Как сделать зачет с договора в ЕВРО на договор в рублях по одному контрагенту

Re: Проводки в документе

JuliaT
6 - 09.06.2009 - 13:03
5 - так с этого "проще" все и начиналось. См 0.  Ничего не получилось. Проверила еще раз: подставила Ваш код.Рузультат тот же.
С набором последний вариант такой:
Док = Метаданные.Документы;
Проводки = РегистрыБухгалтерии.Хозрасчетный;
Для Сч=0 по Метаданные.Документы.Количество()-1 Цикл
   ВидДок=Док[сч];
   Документ = Документы[ВидДок.имя] ;
   Выборка = Документ.Выбрать(НачПериода,КонецДня(КонПериода)) ;
   Пока Выборка.Следующий() Цикл
     ТекДокСсылка = Выборка.ССылка;
     ТекДокОбъект = Выборка.ПолучитьОбъект();
     Если ТекДокОбъект.Движения.Найти("Хозрасчетный") <> Неопределено тогда
        НаборЗаписей = Проводки.СоздатьНаборЗаписей();
Докум = НаборЗаписей.Отбор.Регистратор;
Докум.Установить(ТекДокСсылка);
НаборЗаписей.Прочитать();
СообщитьВидДок.имя+" "+ТекДокСсылка.Номер+" "+НаборЗаписей.Выгрузить().Количество());
     КонецЕсли;
  КонецЦикла;
КонецЦикла;
 
Результат тот же - буть он не ладен!!! Что же я делаю не так?

Re: Проводки в документе

JuliaT
7 - 09.06.2009 - 13:14
Рабочий день закончился. Очень надеюсь, что завтра тема будет продолжена.

Re: Проводки в документе

roma n
8 - 09.06.2009 - 13:31
(6) началось всё с попытки узнать количество записей в непрочитанном из БД наборе. Код в (5) лишён этого недостатка, работоспособен и показывает верные данные. Специально сейчас проверил.
ЗЫ обращение "на Вы" в интернет-сообществах не принято.

Re: Проводки в документе

Viking
9 - 09.06.2009 - 13:45
смысл в чем???? узнать сколько проводок в документах??? решить проще запросом...
 
ВЫБРАТЬ
Хозрасчетный.Регистратор КАК Документ,
КОЛИЧЕСТВО(Хозрасчетный.Активность) КАК КоличествоПроводок
ИЗ
РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
 
СГРУППИРОВАТЬ ПО
Хозрасчетный.Регистратор
ИТОГИ ПО
ОБЩИЕ

Re: Проводки в документе

JuliaT
10 - 10.06.2009 - 06:23
9 - смысл в том, чтобы выловить проведенные документы без проводок. Такая хрень получилась после выгрузки Торговли в Бухгалтерию.
8 - все правильно. Я просто проверяла код на периоде, в котором не было проводок. СПАСИБО!
9 - запросом тоже попробую, тренировки ради.  
К списку тем К списку форумов

Добавить новое сообщение

Ваше имя:
Тема сообщения:
Сообщение:
« Не заполняется КУДиР в 8.16 БУХ: Где просмотреть ошибки?... »
© 2009 Форум 1С: Одинэс.Ру