Имя: Пароль:
1C
1С v8
ПКГС. Вызов функции из общего модуля
0 zippygrill
 
06.09.11
09:42
Я пишу в ПКГС "ПередОбработкой" хотя в ТЧ ести только рекв.ДоговорКонтрагентов:

СчетаУчета = КоллекцияОбъектов.БухгалтерскийУчетРасчетовСКонтрагентами.ПолучитьСчетаРасчетовСКонтрагентом(КоллекцияОбъектов.Организация, КоллекцияОбъектов.Контрагент, КоллекцияОбъектов.ДоговорКонтрагента);
КоллекцияОбъектов.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетов;
КоллекцияОбъектов.СчетУчетаРасчетовПоАвансам = СчетаУчета.СчетАвансов;

Когда нажимаю на кнопку показа этих счетов там пусто. как правильно вызвать функцию в данном случае.
1 Naumov
 
06.09.11
09:43
Источник.Организация и т.д.
2 zippygrill
 
06.09.11
09:44
(1) спс. сейчас попробую
3 Defender aka LINN
 
06.09.11
09:44
"КоллекцияОбъектов" - это, как ни странно, коллекция. Что-то я ни у одной коллекции в 1С не припомню свойства "Контрагент" или "ДоговорКонтрагента"
4 Поручик
 
06.09.11
09:46
А это нечто фееричное КоллекцияОбъектов.БухгалтерскийУчетРасчетовСКонтрагентами.ПолучитьСчетаРасчетовСКонтрагентом
5 zippygrill
 
06.09.11
09:47
(4) нет не феерическое. я просто написал здесь как пример )))
6 GenV
 
06.09.11
09:49
(0) в ПередОбработкой КоллекцияОбъектов еще не заполнена. Если нужно обрабатывать построчно, то нужно обращаться через Источник.ТЧ или вызывай в ПередВыгрузкой (при этом реквизиты шапки через Источник, реквизиты строки коллекции через ОбъектКоллекции).
ЗЫ Код как обычно ... )
7 Defender aka LINN
 
06.09.11
10:04
(5) Ну, тогда можно было написать че-нить типа "дыжваоыдваолыгврал =ывлдаоывдадлывоад.ывджлоадлыова.ЫЫ(вылдоаылдвд)". Как пример, фигле.
8 zippygrill
 
06.09.11
10:34
ну вот прописал в ПКГС "ПередВыгрузкой" и ругается опять на вызов функции СчетаУчета:
ВидОперации = ВходящиеДанные.Получить("ВидОперации");

Если (ВидОперации = "ОплатаПокупателя") или (ВидОперации = "ВозвратДенежныхСредствПоставщиком") или (ВидОперации = "РасчетыПоКредитамИЗаймамСКонтрагентами") Тогда
   СчетаУчета = БухгалтерскийУчетРасчетовСКонтрагентами.ПолучитьСчетаРасчетовСКонтрагентом(Источник.Организация, Источник.Контрагент, Источник.ДоговорКонтрагента);
   ОбъектКоллекции.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетов;
   ОбъектКоллекции.СчетУчетаРасчетовПоАвансам = СчетаУчета.СчетАвансов;
КонецЕсли;
9 Defender aka LINN
 
06.09.11
10:38
(8) А зачем вообще этот код? Из ТЧ взять значения - слишком просто?
10 nicxxx
 
06.09.11
10:39
и как именно ругается?
11 GenV
 
06.09.11
10:39
(8) Хоть текст ошибки и не приложен, сдается мне, что ругается не на результат функции, а на ОбъектКоллекции.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетов, т.к. у тебя в ТЧ нет СчетУчетаРасчетовСКонтрагентом или они не доступны для записи ...
12 zippygrill
 
06.09.11
10:40
(9) я уверен чт оты занешь о чем говоришь а вот пока нет ))
(10) ну типо как обычно когда переменая не определена.
13 nicxxx
 
06.09.11
10:41
ну можно же сразу писать более подробно? почему приходится вытягивать все клещами?
14 zippygrill
 
06.09.11
10:42
СчетаУчета = БухгалтерскийУчетРасчетовСКонтрагентами<<?>>.ПолучитьСчетаРасчетовСКонтрагентом(Источник.Организация, Источник.Контрагент, Источник.ДоговорКонтрагента);
{C:\USERS\USER\DESKTOP\МЦБ\ПРАВИЛА ВЫГРУЗКИ\20110906\V77EXP.ERT(5027)}: Переменная не определена (БухгалтерскийУчетРасчетовСКонтрагентами)
15 nicxxx
 
06.09.11
10:42
(12) млять, какая переменная? у тебя их там хренова гора
16 Defender aka LINN
 
06.09.11
10:42
(12) Еще раз: что. мешает. взять. реквизиты. из. табличной. части?
17 Поручик
 
06.09.11
10:43
Только я обратил внимание, что ТС до сих пор не описал задачу?
18 nicxxx
 
06.09.11
10:43
V77EXP.ERT - это что за херня?
19 Defender aka LINN
 
06.09.11
10:43
(14) Бугога... А откуда куда выгружаешь-то?
20 nicxxx
 
06.09.11
10:43
ты че, из бух 8.х пытаешься выгрузить данные обработкой для 7.7?
21 Поручик
 
06.09.11
10:44
(14) Ой, пля.
(19) Из клюшек куда то.
22 GenV
 
06.09.11
10:44
(14) Улыбнуло ) Второй заход объяснений отличия источника и приемника и их обработок. А сколько сил потрачено ...
23 GenV
 
06.09.11
10:45
22+ это при загрузке нужно делать в 8.
24 Поручик
 
06.09.11
10:47
(23) Что происходит, когда }|{опятся на спецов. Походу ему всё переписывать, что наваял.
25 nicxxx
 
06.09.11
10:48
(24) это спец. просто он еще учицца :)))
26 acsent
 
06.09.11
10:48
Счет анужно заполнять в ПослеЗагрузки
27 zippygrill
 
06.09.11
10:50
(23) понял что из ПередВыгрузкой вызов функции недоступен.
(26) тоже вариант.
28 GenV
 
06.09.11
10:50
(24) Ну, не все, но переместить часть кода в ПослеЗагрузки придется )
29 zippygrill
 
06.09.11
10:52
(28) к примеру ВидОперации. а как к нему обращатся если он получен из вход.данные. Объект.ВидОперации не прокатит? )
30 nicxxx
 
06.09.11
10:53
(27) прикалываешься? в бух 7.7 такой функции вобще нет. ты откуда выгружаешь и куда?
31 zippygrill
 
06.09.11
10:54
из бух 7.7 в УПП 8,2 (наверное нет такой функции в 77,просто не знаю 77)
32 GenV
 
06.09.11
10:56
(29) Передавай как строку-параметр (вроде из 7.7 можно) и анализируй в после загрузки. Или счета в ПередВыгрузкой пустые передавай в зависимости от вида операции, а в ПослеЗагрузки проверяй на пустую ссылку.
33 nicxxx
 
06.09.11
11:00
в ПослеЗагрузки у документа можно попробовать написать:
ЗаполнениеДокументовПоУмолчанию.ЗаполнитьСчетаПоУмолчанию(Объект);
это для БП 2.0, но наверное в УПП тоже есть подобная функция
34 zippygrill
 
06.09.11
11:04
(33)нет в УПП такой функции с таким именем.
Ести такая Объект.ЗаполнитьСчетаУчетаВТабЧасти(Объект.Товары        , "Товары"        , Истина, Истина);
35 nicxxx
 
06.09.11
11:06
а я зачем написал "подобная функция"? вот свою там и пиши
36 zippygrill
 
06.09.11
11:12
(35) ну ты злой.
37 Поручик
 
06.09.11
11:27
(36) УПП знаю плохо, но наверняка есть аналогичная, там ведь счета учета в ТЧ тоже как-то заполняются.
38 nicxxx
 
06.09.11
12:59
"злой" - это дефендер здесь: v8: СКД
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан