|
УТ 11. Добавить запись в справочник партнеры программно | ☑ | ||
---|---|---|---|---|
0
AsadRoman
03.11.14
✎
09:59
|
Среда: 1С 8.3 УТ 11
Задача: нужно перенести из некоего файла 6000 партнеров. Решение: написана обработка, которая читает данные из файла и записывает в соответствующие справочники: справочник партнеров, справочник контрагентов, табличную часть справочника партнеров контактную информацию и справочник банковских счетов контрагентов. Проблема: в справочнике партнеров есть реквизит ЮрФизЛицо, которое имеет вид ПеречислениеСсылка.КомпанияЧастноеЛицо и, по логике вещей, может принимать значения Компания или ЧастноеЛицо. Соответственно присваиваю значение Партнеры.ЮрФизЛицо = Перечисление.КомпанияЧастноеЛицо.Компания; и записываю Партнеры.Записать(); Проверяю результат: В справочнике партнеры запись появляется, в справочнике контрагенты запись появляется, в справочнике банковские счета контрагентов запись не видна. И в справочнике партнеров поле ЮрФизЛицо - незаполнено. Более того на выбор заполнения предлагается четыре варианта. Вопрос: Куда копать? Про что я забыл? Подскажите пожалуйста. |
|||
1
kosts
03.11.14
✎
10:20
|
Тут лучше сравнить, что заполняется при штатном создании, и что получилось при импорте.
|
|||
2
Рэйв
03.11.14
✎
11:32
|
Такая фигня бывает если это реквизиты формы и заполняются при открытии из регистра сведений.
|
|||
3
AsadRoman
03.11.14
✎
11:45
|
Где в 8.3 нужно ставить точки останова, чтобы реально останавливалось.
|
|||
4
kosts
03.11.14
✎
11:47
|
(3) Отладку на сервере наверное надо включить, если не останавливается.
|
|||
5
Мимохожий Однако
03.11.14
✎
11:49
|
Или отлаживать на файловой версии ))
|
|||
6
AsadRoman
03.11.14
✎
11:50
|
так файловая версия
|
|||
7
AsadRoman
03.11.14
✎
11:51
|
В обработке останавливается, а в форме справочника не останавливается.
|
|||
8
Рэйв
03.11.14
✎
11:57
|
(7)А обработка открывает формы элементов? Чудны дела твои, господи...
|
|||
9
AsadRoman
03.11.14
✎
12:01
|
Нет. Обработка ничего не открывает. Я ставлю точки останова в форме, чтобы посмотреть что там заполняется, а остановки не происходит.
|
|||
10
hhhh
03.11.14
✎
12:11
|
(9) еще раз, обработка не открывает формы справочников. А если бы открывала, то автору обработки сразу бы надо было оторвать руки.
|
|||
11
Мимохожий Однако
03.11.14
✎
12:12
|
(9)У сервера нет глазок. А форма для глазок и ручек пользователя.
|
|||
12
AsadRoman
03.11.14
✎
12:16
|
вот я и хочу остановить и посмотреть что там заполняется штатно.
|
|||
13
AsadRoman
03.11.14
✎
12:20
|
Получилось остановить. А теперь кто-нибудь может объяснить что это такое:
Если ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.ЮрФизЛицо.ФизЛицо") Тогда Объект.ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.КомпанияЧастноеЛицо.ЧастноеЛицо"); Иначе Объект.ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.КомпанияЧастноеЛицо.Компания"); КонецЕсли; УправлениеДоступностьюКлиент(); |
|||
14
AsadRoman
03.11.14
✎
12:34
|
Это не одно и то же:
Партнеры.ЮрФизЛицо = Перечисление.КомпанияЧастноеЛицо.Компания и Объект.ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.КомпанияЧастноеЛицо.Компания"); ??? Почему именно это поле при записи изменяется? |
|||
15
kosts
03.11.14
✎
12:56
|
(14) Возможно на форме и в объекте разные типы ЮрФизЛицо, почему так сделано ведомо одним разработчикам...
|
|||
16
Рэйв
03.11.14
✎
13:06
|
(13)у тебя зачем то сделано два дублирующих друг друга по смыслу перечисления
КомпанияЧастноеЛицо и ЮрФизЛицо и кодер пытается причесать одно в соответствии со значенирем другого. Нахрена так было сделано - соя логика пасует.Но руки бы я ему все равно оторвал:-) |
|||
17
Рэйв
03.11.14
✎
13:06
|
*соя= моя
|
|||
18
AsadRoman
03.11.14
✎
13:19
|
Это не у меня. Это у 1С. Вопрос в том почему поле не хочет записиваться?
|
|||
19
kosts
03.11.14
✎
13:21
|
(18) Соответствие типов проверь.
|
|||
20
AsadRoman
03.11.14
✎
13:36
|
вот эта строка была неправильная:
Контрагенты.Партнер = Партнеры; нужно: Партнеры.Сохранить() Контрагенты.Партнер = справочники.Партнеры.НайтиПоНаименованию(Элемент.Наименование); Всем спасибо за участие!!! Вопрос закрыт. P.S. как всегда, обычная невнимательность. ;-) |
|||
21
kosts
03.11.14
✎
13:37
|
бывает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |