Имя: Пароль:
1C
1С v8
ЗначениеЗаполнено(Контрагент)
0 amadeus2010
 
25.08.12
11:59
Добрый день,обращаюсь к вам за советом.В документ ЗаказПокупателя добавил реквизит ТорговаяТочка.Задача в том чтобы сделать так чтобы при изменении Контрагента(который может быть филиал) менялась ТорговаяТочка(показала основной офис). В Процедура КонтрагентПриИзменении() добавил след код

////////////////////////////////////////////////////////
Процедура КонтрагентПриИзменении(Элемент)

   ПриИзмененииКонтрагента();
   ПриИнтерактивномИзмененииДоговора();
   
   Если  ЗначениеЗаполнено(Контрагент) Тогда
       кпкТорговаяТочка=Контрагент;
   КонецЕсли;    
       

КонецПроцедуры
///////////////////////////////////////////////
Контрагент заполняется, а ТорговаяТочка остается пустой.
1 Wobland
 
25.08.12
12:01
(0) всё правильно сделал, ТорговаяТочка здесь не меняется
2 Wobland
 
25.08.12
12:01
(1) пардон
3 Wobland
 
25.08.12
12:02
>кпкТорговаяТочка=Контрагент;
в чём скаральный смысл реквизита?
4 andrewks
 
25.08.12
12:02
(1) мне больше понравилось:
кпкТорговаяТочка=Контрагент;
5 sda553
 
25.08.12
12:05
торговая точка не совпадает тип
6 sda553
 
25.08.12
12:07
посмотри в отладчике выражение
ТипЗнч(кпкТорговаяТочка)=ТипЗнч(контрагет)
7 amadeus2010
 
25.08.12
12:51
(3) в стандартную УПП,была добавлена частично Агент Плюс спр-к кпкТорговыеТочки, в нем есть реквизит Владелец,имеющий ссылку на спр-к.Контрагенты, и скорее всего надо вместо ТорговаяТочка написать кпкТорговаяТочка.Владелец, чтобы совпали типы
8 pumbaEO
 
25.08.12
12:55

   времТорговаяТочка = ТорговаяТочка;
   Результат =  ОбщиеФункции.ПолучитьТорговуюТочкиИДоговорПоКонтрагенту(Контрагент,ТорговаяТочка,Подразделение,,Организация);
   
   ТорговаяТочка = Результат.ТорговаяТочка;
   ДоговорКонтрагента  = Результат.Договор;
   Если не ЗначениеЗаполнено(ДоговорКонтрагента) тогда
       ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента;
   КонецЕсли;
   Если Не ТорговаяТочка = времТорговаяТочка тогда
       ПриИзмененииТорговойТочки()
   КонецЕсли;
9 amadeus2010
 
25.08.12
12:58
после изменений в (7) вышла ошибка Поле объекта недоступно для записи (Владелец)
       кпкТорговаяТочка.Владелец=Контрагент;

(8)т.е как я понял создается процедура куда записывается этот код, а потом она вызывается из КонтрагентПрриИзменении()?
10 pumbaEO
 
25.08.12
13:02
(9) мне привести всю процедуру "ПриИзмененииКонтрагента" из УПП и с необходимыми для тебя вставками?
11 amadeus2010
 
25.08.12
13:15
(8)не сочтите за наглость,но если можно подробнее что и куда вставить, что-то торможу по ходу дела
12 pumbaEO
 
25.08.12
13:22
я походу тоже торможу, не могу понять, что тебе не понятно... Посмотреть пример, который добавлен в процедуру "ПриИзмененииКонтрагента" после определения контактной информации и вместо  Результат =  ОбщиеФункции.ПолучитьТорговуюТочкиИДоговорПоКонтрагенту(Контрагент,ТорговаяТочка,Подразделение,,Организация); вставить свой код по определению торговой точки.
13 amadeus2010
 
25.08.12
13:46
(12)в процедуре ПриИзмененииКонтрагента, у меня она называетсяКонтрагентПриИзменении там расположен вызов процедуры ПриИзмененииКонтрагента вкоторой находится этот код
////////////////////////////////////////////////////
   // Выполняем общие действия для всех документов при изменении Контрагент.
   ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(ЭтотОбъект, мСтруктураПараметровДляПолученияДоговора);
   
   Если НЕ ЗначениеЗаполнено(КонтактноеЛицоКонтрагента) Тогда
       КонтактноеЛицоКонтрагента = Контрагент.ОсновноеКонтактноеЛицо;
   Иначе
       Если КонтактноеЛицоКонтрагента.Владелец <> Контрагент Тогда
           КонтактноеЛицоКонтрагента = Контрагент.ОсновноеКонтактноеЛицо;
       КонецЕсли;
   КонецЕсли;
   
   НомерЗаказа = ?(ЗначениеЗаполнено(Контрагент),Контрагент.КодОракл,"");
   Подразделение = РегистрыСведений.ДепартаментКлиент.ПолучитьПоследнее(Дата,Новый Структура("Контрагент",Контрагент)).Подразделение;
   
//////////////////////////////////////////////////////////////////
Мне надо чтобы при заполнении поля Контрагент документа автоматически заполнялось поле ТорговаяТочка.Т.е если в контрагент мы выбрали Тест3, то в ТорговаяТочка должен отобразиться Тест как основная торговая точка для контрагента.
14 amadeus2010
 
25.08.12
14:28
есть кто-нибудь,срочно нужно написать код,есть какие-либо предложения
15 pumbaEO
 
25.08.12
14:33
я считаю, что тебе уже достаточно подсказали. За тебя писать код, без доп мотивации не имею желания.
16 Wobland
 
25.08.12
15:09
(14) а ты это для души или за зарплату делаешь?
17 amadeus2010
 
25.08.12
15:22
(16)за зарплату,иначе не надо было бы мучаться*))
18 Wobland
 
25.08.12
15:29
(17) то есть получишь доход с этой задачи. я думаю, нужно поделиться с тем, кто это соберётся делать
19 amadeus2010
 
25.08.12
16:16
мой доход не завязан на решение этой задачи, у меня фиксированная ставка не зависимо от количества задач
20 pumbaEO
 
25.08.12
16:21
так и скажи, тарелка супа. Начинай тогда с фразы "Люди добрые, помогите кодом, кто чем может."
21 amadeus2010
 
25.08.12
16:40
(20)изначально так и просил;) А так что надо получить написана в (13). Я добавил в модуль объекта в Процедура ПриИзмененииКонтрагента() Экспорт,следующий код
//////////////////////////////////////////////////////////////////
Если НЕ ЗначениеЗаполнено(кпкТорговаяТочка) Тогда
       кпкТорговаяТочка.Владелец=Контрагент.ГоловнойКонтрагент;
   КонецЕсли;
//////////////////////////////////////////////////////////////////
тормознул на этой задаче и дальше никак
22 pumbaEO
 
25.08.12
16:44
И сколько ты в месяц получаешь?
23 Wobland
 
25.08.12
16:46
(19) а ты другой реакции ждал на своё (14)?
(21) ни хрена не понял. справочник торговые точки подчинён справочнику контрагенты, и при смене контрагента необходимо как-то менять торговую точку? если правильно сформулировал, то выхода два:
1) очищать ТТ;
2) брать основную ТТ контрагента (контрагентов, есессно, надо научить знать основную точку);

код не сделаю:
1) что тут писать - тут кашу в голове ликвидировать надо;
2) учись думать сам, пора бы уже;
3) если п.2 невыполним, то я сдаюсь;
24 amadeus2010
 
25.08.12
16:59
(23)есть задачи с которыми справляюсь сам,но в данный момент не могу решить эту задачу,иначе бы не обратился за помощью.При трассировке вышла ошибка Поле объекта недоступно для записи (Владелец)
       кпкТорговаяТочка.Владелец=Контрагент.ГоловнойКонтрагент;

Мне надо чтобы при заполнении поля Контрагент документа автоматически заполнялось поле ТорговаяТочка.Т.е если в контрагент мы выбрали Тест3, то в ТорговаяТочка должен отобразиться Тест как основная торговая точка для контрагента.
25 sda553
 
25.08.12
17:01
(24) т.е. нужно найти в справочнике торговых точек такую торговую точку, где владелец будет нужный контрагент, правильно?
26 m-serg74
 
25.08.12
17:03
(25) будешь за него писать? )))
27 amadeus2010
 
25.08.12
17:03
в принципе надо чтобы при выборе контрагента в поле торговая точка выходила его основная точка,(25) вы правильно поняли
28 pumbaEO
 
25.08.12
17:04
Блин, за честный ответ сколько же ты зарабатываешь, я готов скопипастить функцию с определением массива торговых точек.
29 Wobland
 
25.08.12
17:04
(24) оцени в (23) верность формулировки задачи
30 pumbaEO
 
25.08.12
17:06
" частично Агент Плюс" - там нет понятия основной точки.
31 sda553
 
25.08.12
17:06
(27) так почему же ты тогда вместо того чтобы искать нужную тт в справчнике, занимаешься какой то ерундой?
32 amadeus2010
 
25.08.12
17:08
(30)основная точка это контрагент, а точки это его филиалы
(31)натолкните на правильное русло
33 Wobland
 
25.08.12
17:09
(32) или код дать?
34 pumbaEO
 
25.08.12
17:09
Да, да КОД, ну какой же ты непонятливый.
35 m-serg74
 
25.08.12
17:10
+(33) ваше же (27) в принципе надо чтобы при выборе контрагента в поле торговая точка выходила его основная точка
36 m-serg74
 
25.08.12
17:10
(34) ))))) пятница продолжается!!!
37 Wobland
 
25.08.12
17:17
внимание! КОД для (27)
ТорговаяТочка=Контрагент.ОсновнаяТорговаяТочка
38 Wobland
 
25.08.12
17:17
+(37) с автора 500 рублей ;)
39 pumbaEO
 
25.08.12
17:19
(38) ха, и ща автор тебе притензию в нерабочем коде предъявит... Телепатирую, что у него нет реквизита ОсновнаяТорговаяТочка :)
40 Wobland
 
25.08.12
17:19
(39) всё это предупреждено в (23), реакции не было
41 Wobland
 
25.08.12
17:20
(40) это, кстати, ответ на (32)
42 Пуд
 
25.08.12
17:22
Чистый цирк:)
43 pumbaEO
 
25.08.12
17:25
Надо сохранить ветку в закладки и предъявлять всем, когда срач начнется по типу "Франчи - позор 1С" и можно будет аргументированно отвечать "фикси - позор 1С".
44 m-serg74
 
25.08.12
17:30
(43) может уже универсальное - "Бараны. особенно ленивые - позор 1С"?
45 Wobland
 
25.08.12
17:31
(44) универсально - это так: 1Сники - позор 1С
46 pumbaEO
 
25.08.12
17:36
И дурак может быть преуспевающим при наличии спроса на глупость.
47 Пуд
 
25.08.12
17:43
Так где автор?Ему удался этот подвиг?Прямо любопытство разбирает))
48 m-serg74
 
25.08.12
17:50
подвиг стать преуспевающим из (46) ? )))
49 amadeus2010
 
28.08.12
08:05
Всем доброе утро,задача была решена еще в субботу поздним вечером,всем спасибо за участие
50 artems
 
28.08.12
08:46
(49) элементарный вопрос реализовывал около суток :)
твои работодатели зря платят тебе зарплату...