Имя: Пароль:
1C
1C 7.7
v7: Отбор в документе по реквизиту в шапке.
0 progaoff
 
18.07.17
15:23
Процедура ЗадолженностьДоговора()
//    УстановитьОтбор("ПакетныеНаряды.Сотрудник", Механ)
    Пока ПолучитьСтроку(Механи) = 1 Цикл
    Если ПустоеЗначение(Объект) = 0 Тогда
        Ит = СоздатьОбъект("БухгалтерскиеИтоги");
        Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, ПолучитьАтрибут("Контрагент"),2);
        Ит.ВыполнитьЗапрос(,КонКвартала(ТекущаяДата()),"62",,,,,);
        Взс = Ит.СКК() - Ит.СКД();  
        Задолжность = Взс;
    КонецЕсли;
КонецЦикла;    
КонецПроцедуры
Сделал такую процедуру, один вопрос, как в условие передать еще один реквизит, в моем случае менеджер.
1 progaoff
 
18.07.17
15:45
Никак?
2 HawkEye
 
18.07.17
19:05
(0) видимо "И"....
хотя что ты там имел ввиду, кто тебя знает )
3 vadim777
 
18.07.17
20:11
(0) В какой менеджер?
4 Хряк
 
18.07.17
20:18
менеджер, видимо, по продажам
5 GreyK
 
18.07.17
20:23
(0) Из вредных советов: Создайте в плане счетов дополнительное субконто менеджер, измените модули отгрузки и приема оплат, и буде у вас всё в шоколаде :)
6 Builder
 
18.07.17
23:29
Запрос в цикле по строкам с условием в шапке - это шедеврально.
Ну и после такого
ПолучитьАтрибут("Контрагент")
дальше можно не продолжать....
7 Злопчинский
 
19.07.17
00:07
Делать запрос к итогам на конец квартала от текущей даты - не факт что бухитоги рассчитаны на три месяца вперёд, а не до конца текущеноимесяуа...
????
8 Duke1C
 
19.07.17
18:07
(7) Дык в Бухии не как в торговле, период не месяц (по-умолчанию) а квартал. И поменять как в ТиС (на какой-то другой) тоже вроде нельзя
9 Злопчинский
 
19.07.17
21:45
(8) Возможно, в клюшечную бухию давно не заглядывал
10 GreyK
 
19.07.17
21:59
Мне интересно почему нет вопроса про начальный остаток по менеджеру из шапки документа.
Все подзабыли 7.7 и бух.итоги!?
11 progaoff
 
20.07.17
13:28
Так все таки, как быть то? Причем эта же конструкция работает в форме списка и вроде дает правильный результат.
12 1dvd
 
20.07.17
13:32
Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, ПолучитьАтрибут("Контрагент"),2);
        Ит.ИспользоватьСубконто(ВидыСубконто.Менеджеры, ПолучитьАтрибут("Менеджер"),2);
13 progaoff
 
20.07.17
13:32
Функция ЗадолженностьДоговора()
    Если ПустоеЗначение(ТекущийЭлемент()) = 0 Тогда
        Ит = СоздатьОбъект("БухгалтерскиеИтоги");
        Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, ПолучитьАтрибут("Контрагент"),2);
        Ит.ВыполнитьЗапрос(,КонКвартала(ТекущаяДата()),"62",,,,,);
        Взс = Ит.СКК() - Ит.СКД();  
        Возврат Взс;
    КонецЕсли;
КонецФункции
14 progaoff
 
20.07.17
14:02
Функция ЗадолженностьДоговора()

    Пока ПолучитьСтроку() = 1 Цикл
        
    Если ПустоеЗначение(Объект) = 0  Тогда
        Ит = СоздатьОбъект("БухгалтерскиеИтоги");
        Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, ПолучитьАтрибут("Контрагент"),2);
        Ит.ИспользоватьСубконто(ВидыСубконто.Договоры, ПолучитьАтрибут("Договоры"),2);
        Ит.ВыполнитьЗапрос(,КонКвартала(ТекущаяДата()),"62",,,,,);
        Взс = Ит.СКК() - Ит.СКД();  

        Возврат Взс;
    КонецЕсли;
КонецЦикла;    
КонецФункции
Теперь не верное имя Атрибута
15 1dvd
 
20.07.17
14:03
(14)
Ит.ИспользоватьСубконто(ВидыСубконто.Договоры, ПолучитьАтрибут("Договоры"),2);
Ит.ИспользоватьСубконто(ВидыСубконто.Договоры, ПолучитьАтрибут("Договор"),2);

найди отличия
16 progaoff
 
20.07.17
14:06
(15) Нашел
17 progaoff
 
20.07.17
14:10
Только все равно та же ошибка
18 progaoff
 
20.07.17
14:15
Ит.ИспользоватьСубконто(ВидыСубконто.Договоры, ПолучитьАтрибут("Договоры"));
{Документ.ОтчетыМеханика.Форма.Модуль(65)}: Неверное имя атрибута
19 1dvd
 
20.07.17
14:15
(18) мде... тяжелый случай
20 progaoff
 
20.07.17
14:55
(19) Чего?
21 1dvd
 
20.07.17
15:25
(20) ы убери
22 progaoff
 
20.07.17
16:07
(21) я ж говорю убирал, толку 0
23 HawkEye
 
20.07.17
16:58
(22) в документе то как реквизит называется?
и что за мода писать "ПолучитьАтрибут("Контрагент")"? просто "Контрагент" нельзя написать?
24 progaoff
 
20.07.17
17:04
(23) Договор
25 HawkEye
 
20.07.17
17:08
(24) ну а отладчик что говорит?
26 Ёпрст
 
20.07.17
17:18
(24) вот и пихай Договор, а не  ПолучитьАтрибут("Договоры")
27 Builder
 
20.07.17
17:20
(25) Я думаю отладчик скажет тоже самое. Скорее всего в документе нет такого реквизита - "Договор"
Полностью согласен с (19)
28 progaoff
 
20.07.17
17:23
(26)Пипец, а с атрибутом что не так? без него завелось, только по ходу ждать буду долго, итоги считает с какого перепуга то не пойму, перед исправлениями пересчитывал
29 progaoff
 
20.07.17
17:25
Ит.ИспользоватьСубконто(ВидыСубконто.Договоры, "Договор",2); Вот так завелось
30 progaoff
 
20.07.17
17:37
Только результат = 0 по всем договорам, а ПолучитьАтрибут, дает цифру
31 Builder
 
20.07.17
17:44
(29) Пипец - это делать что то не понимая что и зачем ты делаешь.
Позовите специалиста.
32 progaoff
 
20.07.17
17:50
(31) самый достойный совет
33 Builder
 
20.07.17
17:57
(32) Тут советов было чуть больше чем до хрена.
Надо было всего лишь проверить есть ли в документе реквизит "Договор".
34 HawkEye
 
20.07.17
18:06
(32) так что отладчик то говорит?


Ит.ИспользоватьСубконто(ВидыСубконто.Договоры, "Договор",2)

"Договор" - это вообще не правильно...
35 Ёпрст
 
20.07.17
18:08
(29)

>>> Ит.ИспользоватьСубконто(ВидыСубконто.Договоры, "Договор",2); Вот так завелось

Полный ПЭ

>>>Только результат = 0 по всем договорам,

еще бы. Врят ли у вас договоры - строковое субконту, туда надо пихать ссылку на элемент справочника, а не строку "Договор"
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.