![]() |
![]() |
|
Как программно установить основной договор контрагента? | ☑ | ||
---|---|---|---|---|
0
ilin
17.01.08
✎
12:47
|
Перебираю все договоры контрагента,нахожу нужный,а вот сделать его основным не получается:
//нужный контрагент фио=Справочники.Контрагенты.НайтиПоНаименованию(текущаястрока.Контрагент); //его договоры выборка = Справочники.ДоговорыКонтрагентов.Выбрать( ,фио); Пока выборка.Следующий() = 1 Цикл Если (выборка.Наименование="Договор поставки") и (выборка.ВидДоговора=перечисления.ВидыДоговоровКонтрагентов.СПоставщиком) тогда фио.ОсновнойДоговорКонтрагента=выборка.ссылка; иначе сообщить("нет договора поставки!"); конецесли; КонецЦикла; |
|||
1
Джинн
17.01.08
✎
12:49
|
Записывать не пробовал?
|
|||
2
Cthulhu
17.01.08
✎
12:50
|
переходи на снеговика -- там это всё реализовано. (с)
|
|||
3
ilin
17.01.08
✎
12:51
|
ну можно и так,только толку нету:
//нужный контрагент фио=Справочники.Контрагенты.НайтиПоНаименованию(текущаястрока.Контрагент); //его договоры выборка = Справочники.ДоговорыКонтрагентов.Выбрать( ,фио); Пока выборка.Следующий() = 1 Цикл Если (выборка.Наименование="Договор поставки") и (выборка.ВидДоговора=перечисления.ВидыДоговоровКонтрагентов.СПоставщиком) тогда фио.ОсновнойДоговорКонтрагента=выборка.ссылка; фио.запистаь(); иначе сообщить("нет договора поставки!"); конецесли; КонецЦикла; |
|||
4
ilin
17.01.08
✎
12:54
|
Что,никто не может подсказать,как мне это реализовать?
|
|||
5
Barmaglot
17.01.08
✎
13:00
|
(4) А что отладчик показывает?
|
|||
6
ado
17.01.08
✎
13:02
|
Казалось бы, при чем здесь v7 ...?
|
|||
7
ilin
17.01.08
✎
13:05
|
в режиме предприятия поле объекта недоступно для записи (основнойдоговорконтрагента),а в отладчике сразу перепрыгивает на конец цикла,как тока пытаюсь присвоить
|
|||
8
ilin
17.01.08
✎
13:07
|
ну да,нечаянно,получилось v7 ))),на самом деле,конечно же v8
|
|||
9
ilin
17.01.08
✎
13:11
|
уф,всегда так,обратишься за помошью,никто не отвечает!
|
|||
10
Barmaglot
17.01.08
✎
13:11
|
Контрагента находит?
|
|||
11
ilin
17.01.08
✎
13:12
|
да,контрагента находит,и договор тоже
|
|||
12
Barmaglot
17.01.08
✎
13:14
|
А потом с "Если" на КонецЦикла?
|
|||
13
ilin
17.01.08
✎
13:15
|
после строки:
фио.ОсновнойДоговорКонтрагента=выборка.ссылка; |
|||
14
ilin
17.01.08
✎
13:16
|
точнее на конец следующего цикла,который в конце модуля,здесь я его не прописала
|
|||
15
Barmaglot
17.01.08
✎
13:17
|
Это внешняя обработка?
|
|||
16
ilin
17.01.08
✎
13:17
|
да
|
|||
17
Barmaglot
17.01.08
✎
13:18
|
Может, она не сохранена?
|
|||
18
ilin
17.01.08
✎
13:19
|
сохранена
|
|||
19
Barmaglot
17.01.08
✎
13:23
|
Странно. А в скопированной строке ошибка сознательно поставлена?
|
|||
20
Pasha
17.01.08
✎
13:24
|
(0) Если мне не изменяет склероз, там договора в регистре сведений хранятся. и основной договор - это не ссылка на справочник, а ссылка на регистр или чтото эдакое
|
|||
21
Barmaglot
17.01.08
✎
13:25
|
(20) Если УТ, то изменяет...
|
|||
22
ilin
17.01.08
✎
13:27
|
это УПП
|
|||
23
Barmaglot
17.01.08
✎
13:29
|
Все равно ссылка.
|
|||
24
Barmaglot
17.01.08
✎
13:33
|
Что показывает после прохождения строки
фио.ОсновнойДоговорКонтрагента=выборка.ссылка; |
|||
25
ilin
17.01.08
✎
13:35
|
ладно,спасибо,с этой проблемой я справмлась.Теперь не получается сделать контрагента поставщиком.т.е. у контрагента есть булевый реквизит "Поставщик",так вот не присваивается истина
|
|||
26
Barmaglot
17.01.08
✎
13:36
|
Объект надо получить.
|
|||
27
Barmaglot
17.01.08
✎
13:37
|
И что там было?
|
|||
28
ilin
17.01.08
✎
13:37
|
фио=Справочники.Контрагенты.НайтиПоНаименованию(текущаястрока.Контрагент);
если фио.Поставщик=Ложь тогда попытка фио.Поставщик=Истина; исключение конецпопытки; конецесли; |
|||
29
Barmaglot
17.01.08
✎
13:42
|
ФИО1 = ФИО.ПолучитьОбъект();
ФИО1.Поставщик = Истина; ФИО1.Записать(); |
|||
30
ilin
17.01.08
✎
13:47
|
неа,так тоже не получается
|
|||
31
Barmaglot
17.01.08
✎
13:48
|
Что говорит?
|
|||
32
ilin
17.01.08
✎
13:50
|
что,нельзя редактировать это поле
|
|||
33
ilin
17.01.08
✎
13:51
|
поле объекта недоступно для записи(поставщик)
|
|||
34
Barmaglot
17.01.08
✎
13:52
|
Объект удалось получить?
|
|||
35
ilin
17.01.08
✎
13:55
|
да
|
|||
36
hhhh
17.01.08
✎
13:56
|
код в студию
|
|||
37
ilin
17.01.08
✎
13:59
|
наверху
|
|||
38
hhhh
17.01.08
✎
14:01
|
там нет получения объекта
|
|||
39
ilin
17.01.08
✎
14:02
|
это где нужно написать?
|
|||
40
hhhh
17.01.08
✎
14:06
|
фио=Справочники.Контрагенты.НайтиПоНаименованию(текущаястрока.Контрагент);
если фио.Поставщик=Ложь тогда попытка ФиоОбъект = фио.ПолучитьОбъект(); фиоОбъект.Поставщик=Истина; //Здесь должен быть объект !!!!!!!!!!! фиоОбъект.Записать(); исключение конецпопытки; конецесли; |
|||
41
ilin
17.01.08
✎
14:14
|
все равно не записывается((
|
|||
42
hhhh
17.01.08
✎
14:18
|
а что такое "ТекущаяСтрока.Контрагент"?? Ведь это не наименование.
|
|||
43
Barmaglot
17.01.08
✎
14:19
|
ФИО не пустая ссылка?
|
|||
44
hhhh
17.01.08
✎
14:19
|
+ скорее всего должно быть
фио = ТекущаяСтрока.Контрагент; |
|||
45
ilin
17.01.08
✎
14:20
|
текущаястрока-это я перебираю таблицу значений?
|
|||
46
ilin
17.01.08
✎
14:21
|
фио-не пустая ссылка,фио определяется
|
|||
47
hhhh
17.01.08
✎
14:24
|
(45) Откуда там у тебя наименования? используй ссылки.
|
|||
48
ilin
17.01.08
✎
14:30
|
все спасиб,получилось.Осталось тока узнать какие значения должны принимать реквизиты контрагента,чтоб значиться поставщиком
|
|||
49
Barmaglot
17.01.08
✎
15:20
|
(49) Галку "Поставщик" надо поставить.
|
|||
50
Barmaglot
17.01.08
✎
15:20
|
(49) к (48)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |