Имя: Пароль:
1C
 
v7: Бух. получить дату выбытия из проводки
0 Мохнатый Лобстер
 
31.10.07
13:25
опять пишу я к вам
свою я повесть всё о том же
быть может ктонибуть подскажет нам
сделать, всё это как же???


потребовалось бухам получить отчёт по ОС
найти крякалку к "новейший отчёт 7.7" не удалось а покупать программы не в стиле моего руководства
посему вооружившись запасом чая с жасмином и остатками моего сушёного мозга(говорят если их в чае размочить он опять заработает) засел я за написание отчётика
нуно там иметь:
1 наименование
2 номер
3 перв.себестоимость
4 дата ввода
5 дата вывода!!!

всё бы хорошо, первые 4 пункта берутся из справочника доступными методами, отчётиком по ОС стандартным слегка мною уже переписанным(ещё раз спасибо всем кто помог)
а вот последний 5 пункт (дата выбытия) ну обязательно нужно брать только из проводки в журнале проводки(из справочника дату выбытия низя потому как там чёртичё написано)

раз уж так вышло что журнал проводок мой монитор вобще впервые в жизни отображает своими тускловатыми пикселями
хочу спросить: как мне вобще к нему обратится и из него (зная код) выдернуть дату вывода из эксплуатации нуного мне светильника\калькулятора\патефона

уффф... вроде сформулировал
а правильно сформулированный вопрос это половина ответа
вобщем если вы уж до сих пор дочитали то уж не поленитесь чёнить ответить =)))
я вам тогда ещё чёнить забавное напишу ;)
1 у лю 427
 
31.10.07
13:31
Би = CreateObject("BookkeepingTotals");
   Би.UseSubconto(SubcontoKinds.ОсновныеСредства,    , 1);    
   Би.DoQuery(НачДата , EndOfCalculatedPeriodBT(), AccountByCode("01.2"),   ,  , 3,"Проводка","С");  
   if Би.SelectSubconto(1) =1 then                 //  выбрать ОсновныеСредства
       while Би.GetSubconto(1) = 1 do              //  получить ОсновныеСредства
                   Би.SelectPeriods();
                   while Би.GetPeriod() = 1 do
                       ОП_ = Би.Operation;
                       ОсновноеСредство    =    Би.Subconto(1);    //    ОсновныеСредства
                       Док              =  ОП_.Document;
                       ДатаД  = Оп_.Document.DocDate
                                                                                     
                       //---------------------------------------------------------
                       //  смотрим, надо ли брать эту проводку
                       //---------------------------------------------------------
                       if Би.SelectedByDt()=1  then    // проводка выбрана по дебету
                       else // выбрана по кредиту - это расход
                       endIf;                
                   endDo;
                                       
       endDo;    // перебор по ОсновныеСредства
   EndIf;
2 CrecerRu
 
31.10.07
13:31
(0) дак если по проводкам не получается, смотри реквизит "Состояние", если значение ВЫБЫЛО, то получаешь дату через объект "периодический"
3 Мохнатый Лобстер
 
31.10.07
13:48
(3) не получается потому как я ненаю как это сделать =) кажетсо такое состояние организма часто именуется..."Чайник"...
дату нужно брать именно из проводок
таково горячее желание моих любимых бухов, потому как в карточке на какойнить девайс в поле дата вывода либо пусто либо неправда.
а проводки верны, им верить и использовать обязательно

(1) эммм
чай ещё не подействовал видимо, ничо не понял.
но есть предположение что вот это

Би.DoQuery(НачДата , EndOfCalculatedPeriodBT(), AccountByCode("01.2"),   ,  , 3,"Проводка","С");

укажет мне правильный путь?
хотя я чесно ничё не понял что вы попытались мне сказать
4 CrecerRu
 
31.10.07
13:53
(3) конфа то какая у тебя?
5 Мохнатый Лобстер
 
31.10.07
13:57
(4) .492
6 Владимир1С
 
31.10.07
14:00
Есть такая обработка - "Печать содержимого справочников", на ИТС по-моему присутствует. В форме укажи: Выводить периодические реквизиты, с такой-то даты по такуюту.
7 Мохнатый Лобстер
 
31.10.07
14:23
(6)сижу смотрю диск итс сентябрьский найти не могу
8 Мохнатый Лобстер
 
31.10.07
14:36
(6)ага нашёл

тока вы не поверите он у меня не запускается

Если СокрЛП(Пользователь<<?>>.Права)="Хозяин" Тогда
{E:\АРХИВЫ\1CV7_12_10_07\EXTFORMS\1CMPPRNT.ERT(317)}: Переменная не определена (Пользователь)
9 Мохнатый Лобстер
 
31.10.07
15:14
(6)
да и к тому же в справочнике в общих сведениях дата выбытия не заведена
нету её там, а если есть то неправильная
она фигурирует только в журнале проводок из которго мне и нужно достать её

вопрос как
10 Мохнатый Лобстер
 
31.10.07
16:14
ох беда огорчение

мне нужно юзать ВыбратьПоЗначению(,,,)?
чтоб выбрать нужную проводку по нужному коду ОС

так чтоли?
11 Jmot
 
31.10.07
16:18
Дата вывода - это дата списания со счета, а определить дату можно, сделав запрос по проводкам и взяв дату проводки - тебе в 1 посте это сказали.
12 Мохнатый Лобстер
 
31.10.07
16:22
(11) ой ну наконец добрый человек всё на пальцах объяснил

я так и подумал что мне в первом посте чтото умное сказали, тока не понял что именно =)

теперь понятно спасибо попробую сделать
13 Мохнатый Лобстер
 
31.10.07
17:25
ох тяжело тащить бегемота из болота

if Би.SelectSubconto(1) =1 then                 //  выбрать ОсновныеСредства
{Отчет.ОтчетПоОС.Форма.Модуль(348)}: Данная операция допустима только в режиме запроса по аналитике !
14 Мохнатый Лобстер
 
01.11.07
10:19
итак, продолжаем разговор.
поиск по форуму выдал что не у меня первого аткая ошибка
исправил, работает.
но мне этого мало

   Бит = СоздатьОбъект("БухгалтерскиеИтоги");
   Бит.DoQuery(НачДата ,, AccountByCode("01.2"),   ,  , 3,"Проводка","С");
   Бит.UseSubconto(SubcontoKinds.ОсновныеСредства,    , 1);    

   if Бит.SelectSubconto(1) =1 then                 //  выбрать основныеСредства

результат Бит.SelectSubconto(1) равен нулю, не выбирает основные средства
?почему?
15 Мохнатый Лобстер
 
01.11.07
10:20
+(14) там конечно КонДата написана
16 Jmot
 
01.11.07
10:36
Потому что ИспользоватьСубконто() нужно выполнить до ВыполнитьЗапрос(), а не после
17 Мохнатый Лобстер
 
01.11.07
10:50
млин протупил, там http://www.abelov.com/kuban/137553.html же напсиано, а я чёто не дочитал и поменял туда сюда
вобщем вернул всё в зад как было

   Бит = СоздатьОбъект("БухгалтерскиеИтоги");
   Бит.UseSubconto(SubcontoKinds.ОсновныеСредства,    , 1);    
   Бит.DoQuery(НачДата ,КонДата, AccountByCode("01.2"),   ,  , 3,"Проводка","С");
   if Бит.SelectSubconto(1) =1 then                 //  выбрать ОсновныеСредства

:Данная операция допустима только в режиме запроса по аналитике !

почему если всё как должно быть?
уже 2 темы тут с такой ошибкой поиском нашёл, http://www.abelov.com/kuban/137553.html

ИспользоватьСубконто()
Устанавливает режим получения итогов методом ''ВыполнитьЗапрос'' в разрезе субконто.Метод слудет вызывать до вызова метода ''ВыполнитьЗапрос''.

но у меня то очерёдность правельная, а всё равно недопустимая операция
18 Jmot
 
01.11.07
11:05
Всё работает:

Бит = СоздатьОбъект("БухгалтерскиеИтоги");
Бит.UseSubconto(SubcontoKinds.ОсновныеСредства,    , 1);    
Бит.DoQuery(НачДата ,КонДата, AccountByCode("01.2"),   ,  , 3,"Проводка","С");
if Бит.SelectSubconto(1) =1 then                 //  выбрать ОсновныеСредства
  Пока Бит.получитьСубконто(1) = 1 Цикл
     Сообщить(Бит.Субконто(1));
     Бит.ВыбратьПериоды();
     Пока Бит.ПолучитьПериод() =  1 Цикл
        Сообщить(Бит.Операция.ДатаОперации);
     КонецЦикла;
  КонецЦикла;
КонецЕсли;
19 Мохнатый Лобстер
 
01.11.07
11:13
скопипастил ваш код =)


{Отчет.ОтчетПоОС.Форма.Модуль(348)}: Данная операция допустима только в режиме запроса по аналитике !


1С7.7 7.70.027 сетевая
бухгалтерский учёт 7.70.429

данный код вставляю в стандартный ОтчётПоОС

видимо я его кудато в недопустимое место вставляю...
20 Мохнатый Лобстер
 
01.11.07
11:17
+(19)вот он собственной персоной
стандартный с моей вставкой

http://slil.ru/25049389
21 Мохнатый Лобстер
 
01.11.07
13:35
не ну я ниччо не понимаю
вот код:

Бит = СоздатьОбъект("БухгалтерскиеИтоги");
Бит.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства,,1);    
Бит.ВыполнитьЗапрос("01.10.07","01.11.07","01.2",,,,"Проводка",);
Сообщить(Бит.ВыполнитьЗапрос("01.10.07","01.11.07","01.2",,,,"Проводка",)); //сообщает 1
Если Бит.ВыбратьСубконто(1) =1 Тогда        //  выбрать ОсновныеСредства
                                           //вот тут вылетает Данная операция допустима только в режиме запроса по аналитике !
  Пока Бит.получитьСубконто(1) = 1 Цикл
     Сообщить(Бит.Субконто(1));
     Бит.ВыбратьПериоды();
     Пока Бит.ПолучитьПериод() =  1 Цикл
        Сообщить(Бит.Операция.ДатаОперации);
     КонецЦикла;
  КонецЦикла;
КонецЕсли;  

сижу смотрю основную конфигурацию
нашёл там несколько мест где
тоже самое что и у меня, но там работает а у меня нет =/