|
Загрузка контрагентов в буху 2.0 | ☑ | ||
---|---|---|---|---|
0
lesstat
06.08.12
✎
19:44
|
делаю обработку по загрузке контрагентов и exel и появилось 2 вопроса, как избавиться от галочки "Входит в холдинг"? Делал так:
Спр = Справочники.Контрагенты.СоздатьЭлемент(); Если НЕ Спр.ЭтоГруппа Тогда Спр.ГоловнойКонтрагент = Спр.Ссылка; КонецЕсли; Спр.Код = ТекКонт; Спр.Наименование = Фирма; Спр.НаименованиеПолное = ФирмаПолн; Спр.ИНН = ИНН; Спр.КПП = КПП; Спр.Родитель = ВыбГруппа; Спр.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо; Спр.Записать(); И второй вопрос про контактную информацию, данные совпадают с кладром делаю так: КонтИнф = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); КонтИнф.Объект = Спр.Ссылка; КонтИнф.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; КонтИнф.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; КонтИнф.Поле1 = ИндексА; КонтИнф.Поле2 = ОбластьА; КонтИнф.Поле3 = РайонА; КонтИнф.Поле4 = ГородА; КонтИнф.Поле5 = НасПунктА; КонтИнф.Поле6 = УлицаА; КонтИнф.Поле7 = ДомА; КонтИнф.Поле8 = КорпусА; КонтИнф.Поле9 = КвартираА; КонтИнф.Записать(); После загрузки захожу в адреса и их там нет, точнее стоит галочка одной произвольной страной, а мен нужно чтобы радельно, как решить эти 2 вопроса? |
|||
1
lesstat
06.08.12
✎
19:46
|
если поставить галочку раздельно по полям то все кроме индекса заполнено, но контриков очень много и снимать или переставлять галочки очень напряжно и индексы перебивать.
|
|||
2
Aleksey
06.08.12
✎
19:47
|
Спр.Ссылка; у тебя не определена
|
|||
3
Aleksey
06.08.12
✎
19:47
|
делай через двойную запись, или через получить ссылку нового
Спр.Записать(); Если НЕ Спр.ЭтоГруппа Тогда Спр.ГоловнойКонтрагент = Спр.Ссылка; КонецЕсли; Спр.Записать(); |
|||
4
Aleksey
06.08.12
✎
19:56
|
По второму - там есть представления информации, ее заполни
|
|||
5
lesstat
06.08.12
✎
20:05
|
(4) а если в представление загонять то потом при сдаче отчетности проблем с адресами не будет?
|
|||
6
Aleksey
06.08.12
✎
20:34
|
(5) В представлении ты загоняешь то что отображается в программе. Т.е. программа не "собирает" адрес, а показывает то что в представлении
|
|||
7
Aleksey
06.08.12
✎
20:38
|
собственно я так загружаю адрес из 7-ке
Функция ВернутьСтрутуруАдреса(Адрес) //1 - Структура строки с адресом в 7-ке //2 - Код страны //3 - Индекс //4 - Наименование региона //5 - Наименование района //6 - Наименование города //7 - Наименование нас пункта //8 - Наименование улицы //9 - Номер дома //10- Номер корпуса //11- Номер квартиры СписокСАдресом = Разложить(Адрес); Результат = новый Структура(); Результат.Вставить("Поле1",?(СписокСАдресом.количество()>1,СписокСАдресом[1].Значение,"")); Результат.Вставить("Поле2",?(СписокСАдресом.количество()>2,СписокСАдресом[2].Значение,"")); Результат.Вставить("Поле3",?(СписокСАдресом.количество()>3,СписокСАдресом[3].Значение,"")); Результат.Вставить("Поле4",?(СписокСАдресом.количество()>4,СписокСАдресом[4].Значение,"")); Результат.Вставить("Поле5",?(СписокСАдресом.количество()>5,СписокСАдресом[5].Значение,"")); Результат.Вставить("Поле6",?(СписокСАдресом.количество()>6,СписокСАдресом[6].Значение,"")); Результат.Вставить("Поле7",?(СписокСАдресом.количество()>7,СписокСАдресом[7].Значение,"")); Результат.Вставить("Поле8",?(СписокСАдресом.количество()>8,СписокСАдресом[8].Значение,"")); Результат.Вставить("Поле9",?(СписокСАдресом.количество()>9,СписокСАдресом[9].Значение,"")); Результат.Вставить("Поле10",""); Результат.Вставить("Представление",""); Возврат Результат КонецФункции Функция ОбновитьАдрес(СтрокаАдреса, ТекОбъект, ТекТип, ТекВид) НовыйАдрес = ВернутьСтрутуруАдреса(СтрокаАдреса); АдресИзменен = False; Результат = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); Результат.Отбор.Объект.Установить(ТекОбъект.Ссылка); Результат.Отбор.Тип.Установить(ТекТип); Результат.Отбор.Вид.Установить(ТекВид); Результат.Прочитать(); Если Результат.Количество() = 0 Тогда Адрес = Результат.Добавить(); Адрес.Объект = ТекОбъект.Ссылка; Адрес.Тип = ТекТип; Адрес.Вид = ТекВид; Иначе Адрес = Результат[0]; КонецЕсли; Для Каждого ТекРеквизит из НовыйАдрес Цикл Если Адрес[ТекРеквизит.Ключ]<>ТекРеквизит.Значение и ЗначениеЗаполнено(ТекРеквизит.Значение) тогда Адрес[ТекРеквизит.Ключ]=ТекРеквизит.Значение; АдресИзменен = True; КонецЕсли; КонецЦикла; Адрес.Представление = УправлениеКонтактнойИнформацией.ПолучитьПредставлениеАдреса(Адрес); Если АдресИзменен тогда Результат.Записать(); КонецЕсли; Возврат АдресИзменен; Конецфункции ТекТип = Перечисления.ТипыКонтактнойИнформации.Адрес; ТекВид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента; ОбновитьАдрес(РеквизитыОбъекта["ФактАдрес"], Спр, ТекТип, ТекВид); |
|||
8
lesstat
07.08.12
✎
05:38
|
еще вопрос появился, пытаюсь загрузить банковские счета
Объект = Справочники.БанковскиеСчета.СоздатьЭлемент(); //КонтрАгент Спр = Справочники.Контрагенты; Если ЗначениеЗаполнено(Спр.НайтиПоКоду(Код)) Тогда Спр = Справочники.Контрагенты.ПолучитьСсылку(); Объект.Владелец = Спр.Ссылка; объект.ТекстКорреспондента = Спр.НаименованиеПолное; Объект.Наименование = НаименованиеБанка; Объект.ВидСчета = "Расчетный"; Объект.ВалютаДенежныхСредств = Справочники.Валюты.НайтиПоНаименованию("РУб"); Объект.НомерСчета = РС; Попытка Объект.Записать(); Исключение; КонецПопытки; КонецЕсли; в отладчике где спр.найтипоКоду(Код) встает правильное значение и контрагент с таким кодом есть но в следующей строке где пишу Спр = Справочники.Контрагенты.ПолучитьСсылку(); выдает уже что объект не найден в чем трабл? |
|||
9
BuHu
07.08.12
✎
05:43
|
(8)а что по твоему должно вернуть Справочники.Контрагенты.ПолучитьСсылку(); ?
|
|||
10
BuHu
07.08.12
✎
05:45
|
+(9)посмотри в СП как работает НайтиПоКоду()
|
|||
11
lesstat
07.08.12
✎
06:04
|
(10) (9) да спасибо, действительно смотрим в книгу видим фигу, эту проблему решил
|
|||
12
lesstat
07.08.12
✎
06:19
|
еще вопрос, когда БИК заполняется можно как то сделать чтобы банк подставлялся автоматом, список всех банков подгружен?
|
|||
13
BuHu
07.08.12
✎
06:27
|
(12) где заполняется БИК ?
|
|||
14
lesstat
07.08.12
✎
07:10
|
(13) да, чет я и не заметил что он не заполняется, ну по идее будет что то типа Объект.БИК = БИК;
Тогда банк будет заполняться? просто до вечера не смогу проверить |
|||
15
BuHu
07.08.12
✎
07:20
|
(14) скорей всего нет
|
|||
16
Oleg_Kag
07.08.12
✎
07:22
|
Если известен БИК, то что мешает сделать
Объект.Банк=ИзвестныйНамБик |
|||
17
Oleg_Kag
07.08.12
✎
07:28
|
ой там же справочник Банков...
Тогда: СпрБанки=Справочник.Банки; НашБанк=СпрБанки.НайтиПоКоду(ИзвестныйНамБик); Если НашБанк=СпрБанки.ПустаяСсылка()Тогда Сообщить("Банк с БИК "+ИзвестныйНамБик+" не обнаружен в справочнике банков."); Иначе Объект.Банк=НашБанк; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |