|
|
|
Выборка из справочника
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Пишу на дельфе процедурку импорта справочника из 1С. А ситуация такая. Есть документ в 1С. В нем есть поле КОНТРАГЕНТ. Ссылка на справочник контрагентов. Так же есть поле Субконто2СчетДебета, которое имеет неопределенный тип и при выпонении 1с определяется как Справочники.договора и присваивается значение КОНТРАГЕНТ.Основной договор. Я при добавлении строки в документ открываю справочник Код: plaintext Нахожу в нем нужного по коду и запонимаю его Код: plaintext Устанавливаю значение атрибута строки КОНТРАГЕНТ Код: plaintext Меняю тип атрибута Код: plaintext А вот дальше как присвоить значение атрибута Субконто2СчетДебета? Пробовал так Код: plaintext 1. Код: plaintext 1. Не устанавливается. что не так делаю? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2010, 13:59 |
|
||
|
Выборка из справочника
|
|||
|---|---|---|---|
|
#18+
AndrewVL, тема не соответствует вопросу :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2010, 14:00 |
|
||
|
Выборка из справочника
|
|||
|---|---|---|---|
|
#18+
AndrewVL, Правильно ли я вас понял что у вас задача получить доступ в элементу справочника "договоры", указанного в реквизите документа Субконто2СчетДебета, для последующего импорта куда либо? Если так то не понятно причем здесь методы ПолучитьАтрибут() и УстановитьАтрибут(); Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext 1. 2. Если же у Вас задача создать строки табличной части документа и присвоить реквизитам значения То соответственно нужно устанавливать значение атрибута аналогично конструкции с установкой значения контрагента. Сначала необходимо получить элемент (в случае Контрагента вы выполнили поиск по коду). Код: plaintext 1. Соответственно если получили не пустое значение посте НайтиЭлемент то используйте найденый объект. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2010, 14:31 |
|
||
|
Выборка из справочника
|
|||
|---|---|---|---|
|
#18+
Dinamo, Здравствуйте. Наоборот. Есть справочник контрагентов. В нем есть атрибут ОСНОВНОЙ ДОГОВОР - ссылка на справочники договоров. Далее. Есть КОД контрагента. Создаем документ РеализацияУслуги. В нем поля КОНТРАГЕНТ, Субконто2СчетДебета и т.д. Добавляем в табличную часть запись. Далее находим в справочнике контрагентов искомого по коду. Присваиваем его значение реквизиту КОНТРАГЕНТ документа РеализацияУслуги. Здесь все ок. У найденого контрагента есть реквизит - ОсновнойДоговор (а на справочник договоров). Вот это и надо приравнять к Субконто2СчетДебета табличной части окумента РеализацияУслуги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2010, 15:16 |
|
||
|
Выборка из справочника
|
|||
|---|---|---|---|
|
#18+
DinamoAndrewVL, Правильно ли я вас понял что у вас задача получить доступ в элементу справочника "договоры", указанного в реквизите документа Субконто2СчетДебета, для последующего импорта куда либо? не а реквизите Субконто2СчетДебета, а в реквизите ОСНОВНОЙДОГОВОР справочника КОНТРАГЕНТЫ. И присвоить это значение Субконто2СчетДебета табличной части ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2010, 15:28 |
|
||
|
Выборка из справочника
|
|||
|---|---|---|---|
|
#18+
AndrewVLне а реквизите Субконто2СчетДебета, а в реквизите ОСНОВНОЙДОГОВОР справочника КОНТРАГЕНТЫ. И присвоить это значение Субконто2СчетДебета табличной части А тогда импорт "справочника из 1С" здесь каким боком? AndrewVLПишу на дельфе процедурку импорта справочника из 1С. Если уж хотите получить быстрый и верный ответ так и потратьте немного времени на четкую формулировку задачи. Итак, немногословный вы наш, все-таки изволили сообщить нам что ваша задача: "формирование срок документа, с заполнением реквизитов табличной части данными из справочника Контрагенты (платформа 1С 7.7) " Собственно повторюсь: Нужно устанавливать значение атрибута аналогично конструкции с установкой значения контрагента. Сначала необходимо получить элемент справочника Договоры методом НайтиЭлемент(). В вашем случае ссылка на договор хранится в реквизите ОсновнойДоговор справочника Контрагенты. Код: plaintext 1. Если получили не пустое значение после НайтиЭлемент() то используйте найденый объект. Код: plaintext 1. 2. Надеюсь что операцию создания строки табличной части вы в своем коде поместили до того как пытаетесь установить значение реквизитов табличной части. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2010, 16:21 |
|
||
|
Выборка из справочника
|
|||
|---|---|---|---|
|
#18+
Dinamo, еще раз воспроизведу как у меня Код: plaintext 1. 2. 3. 4. 5. 6. 7. Может это из за того, что Субконто2СчетДебета изначально имеет неопределенный тип? Определяю так Код: plaintext в самой конфигурации 1с это делается так. НазначитьТип("Субконто2СчетДебета",СчетДебета.ВидСубконто(4)); дополню, что есть еще несколько полей субконто в шапке таблицы. Заполняю так ole_doc.УстановитьАтрибут(''+'СчетДебета',ole_1c.evalexpr('СчетПокоду("205.03.2.0.2")') ,''); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2010, 16:40 |
|
||
|
Выборка из справочника
|
|||
|---|---|---|---|
|
#18+
AndrewVL Может это из за того, что Субконто2СчетДебета изначально имеет неопределенный тип? Определяю так Код: plaintext Да, конечно, сначала нужно назначить тип. Это уже у вас в первом посте всплывало, но вы назначали тип Справочник.Договоры, а нужно назначать тип ВидСубконто(,"Договоры") (как именно у вас называется субконто с типом справочник.Договоры смотрите в конфигурации). Попробуйте так Код: plaintext Но до того как устанавливать значение реквизита Субконто2СчетДебета ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2010, 09:24 |
|
||
|
|

start [/forum/topic.php?fid=28&fpage=106&tid=1522296]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 342ms |

| 0 / 0 |
