Имя: Пароль:
1C
 
Как узнать есть ли у документа проводки?
0 zoro-z
 
12.08.09
23:40
Нужна обработка которая будет в цикле перебирать документы и проверять если у него проводки?
Как это сделать, и возможно ли это.
1 Serg_1960
 
12.08.09
23:45
Проводки это в смысле бухгалтерские проводки что-ли? Проверить у документа флаг БУ; получить движения документа...
2 zoro-z
 
12.08.09
23:50
(1) Да бух. проводки.
А можно поподробней, как получить движения документа?
3 Euguln
 
12.08.09
23:53
ДокументОбъект.Движения.Хозрасчетный.Количество()
4 zoro-z
 
12.08.09
23:54
(3) Спасибо.
5 zoro-z
 
13.08.09
00:40
Выводит вот такую хрень, при чем не важно проведен ли документ или нет.

24
Реализация товаров и услуг КФП00000003 от 11.02.2008 16:53:03   ----
24
Реализация товаров и услуг КФП00000004 от 01.03.2008 12:00:00   ----
24
Реализация услуг по переработке КФП00000001 от 17.02.2008 13:00:00   ----
17
Регламентированный отчет от    ----
6 Rie
 
13.08.09
04:12
(5) И что именно выводит "вот такую хрень"? Код покажи.

А чтобы отделить проведенные от непроведенных - есть у документа потрясающее свойство, которое по прихоти разработчиков обозвано странным именем - Проведен.
7 MSOliver
 
13.08.09
07:17
А.П. Габец, Д.И. Гончаров
1С:Предприятие 8.0 Простые примеры разработки

Как определить, по каким регистрам документ выполнил движения?

ВЫБРАТЬ ПЕРВЫЕ 1
   "Внутренние заказы" КАК Регистр
ИЗ
   РегистрНакопления.ВнутренниеЗаказы КАК ВнутренниеЗаказы
ГДЕ
   ВнутренниеЗаказы.Регистратор = &Регистратор

ОБЪЕДИНИТЬ

ВЫБРАТЬ ПЕРВЫЕ 1
   "Заказы поставщикам" КАК Регистр
ИЗ
   РегистрНакопления.ЗаказыПоставщикам КАК ЗаказыПоставщикам
ГДЕ
   ЗаказыПоставщикам.Регистратор = &Регистратор

ОБЪЕДИНИТЬ

ВЫБРАТЬ ПЕРВЫЕ 1
   "Размещение заказов покупателей" КАК Регистр
ИЗ
   РегистрНакопления.РазмещениеЗаказовПокупателей КАК РазмещениеЗаказовПокупателей
ГДЕ
   РазмещениеЗаказовПокупателей.Регистратор = &Регистратор

ОБЪЕДИНИТЬ

ВЫБРАТЬ ПЕРВЫЕ 1
   "Товары в резерве на складах" КАК Регистр
ИЗ
   РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
ГДЕ
   ТоварыВРезервеНаСкладах.Регистратор = &Регистратор
8 zoro-z
 
13.08.09
08:47
(6) Имею ввиду что не важно проведен или нет документ, показывает одно и то же.

------------------------------------------------------
Процедура КнопкаВыполнитьНажатие(Кнопка)
   
ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать('0001-01-01', КонецГода(ТекущаяДата()));
   Пока ВыборкаДокументов.Следующий() Цикл
       
       ДокОбъект = ВыборкаДокументов.ПолучитьОбъект();
       Сообщить("" + ДокОбъект + "   ----");
       
       Сообщить(ДокОбъект.Движения.Хозрасчетный.Количество());
       
   КонецЦикла
КонецПроцедуры

Вот что показывает
Реализация товаров и услуг ТДК00000001 от 25.01.2008 11:02:36   ----
0
Реализация товаров и услуг СВЛ00000002 от 01.02.2008 11:52:56   ----
0
Реализация товаров и услуг КФП00000002 от 10.02.2008 12:00:00   ----
0
Реализация товаров и услуг КФП00000003 от 11.02.2008 16:53:03   ----
0

Почему нули, хотя проводки есть.
--------------------------------------------------------

--------------------------------------------------------
При таком ...
Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   Для каждого док Из Документы Цикл
       выборка = ДОК.Выбрать(НачПериода, КонПериода);
       Пока выборка.Следующий() Цикл
           
           ДокОбъект = выборка.ПолучитьОбъект();
           //Если ДокОбъект.ПометкаУдаления  = Истина Тогда
               Сообщить("" + ДокОбъект + "   ----");
               //ДокОбъект.Удалить();
           //КонецЕсли;
           
               Сообщить(ДокОбъект.Движения.Количество());            
       КонецЦикла;
   КонецЦикла;                
КонецПроцедуры



Установка цен номенклатуры 00000000001 от 14.01.2008 11:14:26   ----
1
Формирование записей книги покупок КФП00000001 от 31.01.2008 12:00:00   ----
7
Формирование записей книги продаж КФП00000001 от 31.01.2008 12:00:00   ----
7
Формирование записей книги продаж СВЛ00000001 от 31.01.2008 12:00:01   ----
7

Шо за цифры и почему у всех разные
----------------------------------------------------------------
9 hhhh
 
13.08.09
08:51
(8) Сначала надо прочитать движения.

ДокОбъект.Движения.Хозрасчетный.Прочитать();
10 zoro-z
 
13.08.09
08:57
(9) Спасибо, получилось.
11 Ненавижу 1С
 
гуру
13.08.09
08:58
запросом надо, а это незачет