![]() |
![]() |
|
Адрес контрагента | ☑ | ||
---|---|---|---|---|
0
KENT2007
25.06.12
✎
12:11
|
Как и куда его сохранить если адрес идет одной строкой, можно прям в строку адрес без КЛАДРА?
|
|||
1
ZanderZ
25.06.12
✎
12:12
|
можно
|
|||
2
Eugene_life
25.06.12
✎
12:12
|
(0) В Контактную информацию суй
|
|||
3
Coldboy
25.06.12
✎
12:13
|
(0) регист рсведений, контактая информацию, там поля объект = контраент, тип = адрес (факти или юрический выбери), и в поле представление надо тебе кидать.
|
|||
4
Агент Инфостарта
25.06.12
✎
12:15
|
(3) Не обязательно в представление, в значение адреса можно, как произвольную строку.
|
|||
5
KENT2007
25.06.12
✎
12:23
|
как это в коде будет выглядить
подключился к строке СтрокаКонтрагент.Адрес = СокрЛП(Recordset.Fields("fAddress").Value); в таб часть попадает |
|||
6
KENT2007
25.06.12
✎
12:30
|
помогите плиз как добавить данный в регистр сведений
|
|||
7
Агент Инфостарта
25.06.12
✎
12:34
|
(6) Конфа какая? За четыре года мог бы научиться формулировать вопросы.
|
|||
8
KENT2007
25.06.12
✎
12:35
|
конфа БП
|
|||
9
KENT2007
25.06.12
✎
12:35
|
хотя бы образец строки можно
|
|||
10
ZanderZ
25.06.12
✎
12:37
|
(8) в типовой БП адрес контрагента можно одной строкой записывать без кладра
|
|||
11
KENT2007
25.06.12
✎
12:37
|
и как указать что ардес конкретному контрагенту принадлежит?
|
|||
12
KENT2007
25.06.12
✎
12:38
|
как в коде эта срока пишется
|
|||
13
ZanderZ
25.06.12
✎
12:38
|
(11) в смысле как ??? заходишь в контрагента и указываешь адрес
|
|||
14
KENT2007
25.06.12
✎
12:41
|
есть обработка перенос данных из бизнес пак, переносит только инн кпп и банк нужно добавить адрес, вот и мучаю, к строке подключился а как дальше записать ее не пойму
|
|||
15
KENT2007
25.06.12
✎
12:42
|
Функция ДобавитьАдрес(Адрес)
НовыйАдрес = РегистрСведений.КонтактнаяИнформация. КонецФункции так что ли? |
|||
16
ZanderZ
25.06.12
✎
12:43
|
(14) адрес хранится не в карточке контрагента, а в отдельном регистре сведений "КонтактнаяИнформация", добавляй туда запись, и заполняй
|
|||
17
KENT2007
25.06.12
✎
12:46
|
в том то и дело как программно это выглядит?
|
|||
18
ZanderZ
25.06.12
✎
12:47
|
(17) ну открой обработку "РедактированиеКонтактнойИнформации" и посмотри как она записывает, адаптируй под себя код.
|
|||
19
KENT2007
25.06.12
✎
12:48
|
МенеджерЗаписи = РегистрыСведений.КакойТоРегистр.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Объект = ПолеНаФорме; МенеджерЗаписи.Данные = ПолеНаФормеДанные; МенеджерЗаписи.Записать(); вот так? |
|||
20
ZanderZ
25.06.12
✎
12:52
|
(19) типа того
|
|||
21
KENT2007
25.06.12
✎
12:58
|
что не так
Функция ДобавитьАдрес(Адрес) МенеджерЗаписи = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); МенеджерЗаписи.Представление = Адрес; МенеджерЗаписи.Записать(); КонецФункции пишет не удалось добавить КонтактнаяИнформация |
|||
22
KENT2007
25.06.12
✎
13:02
|
помогите сижу у клиента в тупике
|
|||
23
ZanderZ
25.06.12
✎
13:06
|
(22) пересядь в другое место :)
читай синтакс-помощник, там все есть |
|||
24
Eugene_life
25.06.12
✎
13:09
|
НаборКИ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
НаборКИ.Объект = НовыйКонтрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; НаборКИ.Прочитать(); НаборКИ.Объект = НовыйКонтрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; НаборКИ.Представление = ПараметрыКонтрагента.ЮрАдрес; НаборКИ.Записать(Ложь); // НаборКИ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); НаборКИ.Объект = НовыйКонтрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента; НаборКИ.Прочитать(); НаборКИ.Объект = НовыйКонтрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; НаборКИ.Представление = ПараметрыКонтрагента.ФизАдрес; НаборКИ.Записать(Ложь); |
|||
25
Eugene_life
25.06.12
✎
13:10
|
+(27) Вместо "НаборКИ.Представление = ПараметрыКонтрагента.ЮрАдрес;" подставляешь свою строку.
|
|||
26
KENT2007
25.06.12
✎
13:19
|
только на объект ругается что уже не пробывал не идет
|
|||
27
Eugene_life
25.06.12
✎
13:22
|
(26) Покажи что у тебя получилось
|
|||
28
KENT2007
25.06.12
✎
13:28
|
//МенеджерЗаписи.Записать();
НаборКИ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); НаборКИ.Объект = НовыйКонтрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; НаборКИ.Прочитать(); НаборКИ.Объект = НовыйКонтрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; НаборКИ.Представление = Адрес; НаборКИ.Записать(Ложь); // НаборКИ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); НаборКИ.Объект = НовыйКонтрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента; НаборКИ.Прочитать(); НаборКИ.Объект = НовыйКонтрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; НаборКИ.Представление = Адрес; НаборКИ.Записать(Ложь); КонецФункции |
|||
29
KENT2007
25.06.12
✎
13:29
|
это уже сам перенос
Процедура Импорт() Для каждого Строка Из КонтрагентыЗагрузка Цикл // пустое наименование контрагента Если НЕ ЗначениеЗаполнено(СокрЛП(Строка.НаименованиеКонтрагента)) Тогда Продолжить; КонецЕсли; // нет инн или не верное Если Не ((СтрДлина(СокрЛП(строка.ИннПолучателя)) = 12) или (СтрДлина(СокрЛП(строка.ИннПолучателя)) = 10)) Тогда Продолжить; КонецЕсли; // если инн 12 а кпп нет то кпп = 0 Если ((СтрДлина(СокрЛП(строка.ИннПолучателя)) = 12) И (СокрЛП(Строка.КппПолучателя = ""))) Тогда Строка.КппПолучателя = "0"; КонецЕсли; //Ищем контрагента Контрагент = НайтиКонтрагента(Строка.ИннПолучателя,Строка.КппПолучателя); //нет контрагента Если Контрагент = Справочники.Контрагенты.ПустаяСсылка() Тогда Если ОбновлятьТолькоСчета Тогда Продолжить; Иначе Контрагент = ДобавитьКонтрагента(Строка.ПолноеНаименованиеКонтрагента, Строка.НаименованиеКонтрагента, Строка.ИннПолучателя, Строка.КппПолучателя); КонецЕсли; КонецЕсли; //обновляем контрагента Если не ОбновлятьТолькоСчета Тогда ОбновитьКонтрагента(Контрагент, Строка.КппПолучателя, Строка.ПолноеНаименованиеКонтрагента); КонецЕсли; // А есть ли расчетный счет Если (СтрДлина(Строка.СчетПолучателя) <> 20) или (СтрДлина(Строка.БикБанкаПолучателя) <> 9) Тогда Продолжить; КонецЕсли; //ищем счет РасчетныйСчет = НайтиРасчетныйСчет(Строка.СчетПолучателя,Контрагент.Ссылка); // добавляем счет Если РасчетныйСчет = Справочники.БанковскиеСчета.ПустаяСсылка() Тогда ДобавитьСчет(Строка.СчетПолучателя, Строка.БикБанкаПолучателя, Строка.НаименованиеБанкаПолучателя, Строка.КоррСчетБанкаПолучателя, Контрагент); КонецЕсли; ДобавитьАдрес(Строка.Адрес) КонецЦикла; КонецПроцедуры //Импорт |
|||
30
Eugene_life
25.06.12
✎
13:32
|
(29) У тебя ссылка на контрагента называется Контрагент. Потому: НаборКИ.Объект = Контрагент.Ссылка;
+ поставь останов в строке где начинает читаться КИ - и проверь отладчиком все, что пишешь. |
|||
31
ZanderZ
25.06.12
✎
13:34
|
(29) вот тут ты нашел контрагента
//Ищем контрагента Контрагент = НайтиКонтрагента(Строка.ИннПолучателя,Строка.КппПолучателя); после чего проверка на существование его в базе так вот после этой проверке вставь НаборКИ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); НаборКИ.Объект = Контрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента; НаборКИ.Прочитать(); НаборКИ.Объект = Контрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; НаборКИ.Представление = Строка.Адрес; НаборКИ.Записать(Ложь); |
|||
32
KENT2007
25.06.12
✎
13:36
|
{Форма.Форма.Форма(216,42)}: Переменная не определена (Контрагент)
НаборКИ.Объект = <<?>>Контрагент.Ссылка; (Проверка: Толстый клиент (обычное приложение)) {Форма.Форма.Форма(220,42)}: Переменная не определена (Контрагент) НаборКИ.Объект = <<?>>Контрагент.Ссылка; (Проверка: Толстый клиент (обычное приложение)) {Форма.Форма.Форма(223,49)}: Переменная не определена (Строка) НаборКИ.Представление = <<?>>Строка.Адрес; (Проверка: Толстый клиент (обычное приложение)) |
|||
33
ZanderZ
25.06.12
✎
13:37
|
куда вставил то ?
|
|||
34
Eugene_life
25.06.12
✎
13:38
|
(33) интимный вопрос!! :D
|
|||
35
Eugene_life
25.06.12
✎
13:39
|
(32) Ну, пройдись отладчиком, проблема-то - вот она!! Нужно подсунуть ему твоего найденного контрагента!
|
|||
36
KENT2007
25.06.12
✎
13:41
|
Вроде все пошло без ошибок, после тогда как (31) всавил в процедуру загрузки, вот только адреса нет)
|
|||
37
KENT2007
25.06.12
✎
13:42
|
{Форма.Форма.Форма(498)}: Ошибка при вызове метода контекста (Записать)
НаборКИ.Записать(Ложь); по причине: по причине: Запись с такими ключевыми полями существует! : КонтактнаяИнформация: МУП "Водоканал", Адрес, Юридический адрес (Регистр сведений: Контактная информация) |
|||
38
Eugene_life
25.06.12
✎
13:43
|
(37) тебе нужно записывать адрес для контрагента только 1 раз - при создании нового. А ты, видимо, пытаешься его "перезаписать" каждый раз
|
|||
39
ZanderZ
25.06.12
✎
13:44
|
(37) короче переделай
НаборКИ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); НаборКИ.Объект = Контрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента; НаборКИ.Прочитать(); НаборКИ.Объект = Контрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; НаборКИ.Представление = Строка.Адрес; НаборКИ.Записать(Ложь); на НаборКИ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); НаборКИ.Объект = Контрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; НаборКИ.Представление = Строка.Адрес; НаборКИ.Записать(); |
|||
40
del123
25.06.12
✎
13:47
|
если ты отдельной процедурой добавляешь адрес, то передавай туда и контрагента тоже, а не только адрес :)
|
|||
41
KENT2007
25.06.12
✎
13:50
|
может я не в том месте вставил код
Процедура Импорт() Для каждого Строка Из КонтрагентыЗагрузка Цикл // пустое наименование контрагента Если НЕ ЗначениеЗаполнено(СокрЛП(Строка.НаименованиеКонтрагента)) Тогда Продолжить; КонецЕсли; // нет инн или не верное Если Не ((СтрДлина(СокрЛП(строка.ИннПолучателя)) = 12) или (СтрДлина(СокрЛП(строка.ИннПолучателя)) = 10)) Тогда Продолжить; КонецЕсли; // если инн 12 а кпп нет то кпп = 0 Если ((СтрДлина(СокрЛП(строка.ИннПолучателя)) = 12) И (СокрЛП(Строка.КппПолучателя = ""))) Тогда Строка.КппПолучателя = "0"; КонецЕсли; //Ищем контрагента Контрагент = НайтиКонтрагента(Строка.ИннПолучателя,Строка.КппПолучателя); //нет контрагента Если Контрагент = Справочники.Контрагенты.ПустаяСсылка() Тогда Если ОбновлятьТолькоСчета Тогда Продолжить; Иначе Контрагент = ДобавитьКонтрагента(Строка.ПолноеНаименованиеКонтрагента, Строка.НаименованиеКонтрагента, Строка.ИннПолучателя, Строка.КппПолучателя); КонецЕсли; КонецЕсли; //обновляем контрагента Если не ОбновлятьТолькоСчета Тогда ОбновитьКонтрагента(Контрагент, Строка.КппПолучателя, Строка.ПолноеНаименованиеКонтрагента); КонецЕсли; // А есть ли расчетный счет Если (СтрДлина(Строка.СчетПолучателя) <> 20) или (СтрДлина(Строка.БикБанкаПолучателя) <> 9) Тогда Продолжить; КонецЕсли; //ищем счет РасчетныйСчет = НайтиРасчетныйСчет(Строка.СчетПолучателя,Контрагент.Ссылка); // добавляем счет Если РасчетныйСчет = Справочники.БанковскиеСчета.ПустаяСсылка() Тогда ДобавитьСчет(Строка.СчетПолучателя, Строка.БикБанкаПолучателя, Строка.НаименованиеБанкаПолучателя, Строка.КоррСчетБанкаПолучателя, Контрагент); КонецЕсли; //ДобавитьАдрес(Строка.Адрес) КонецЦикла; НаборКИ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи(); НаборКИ.Объект = Контрагент.Ссылка; НаборКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес; НаборКИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; НаборКИ.Представление = Строка.Адрес; НаборКИ.Записать(); КонецПроцедуры //Импор |
|||
42
del123
25.06.12
✎
13:51
|
перед конеццикла вставь
|
|||
43
KENT2007
25.06.12
✎
13:54
|
все равно нет адреса
|
|||
44
KENT2007
25.06.12
✎
13:55
|
у одного адрес записался когда ошибка в (37) была
|
|||
45
Eugene_life
25.06.12
✎
14:09
|
(44) Вот сюда добавь строки по записи адреса (только сперва этот адрес получи из источника):
Если Контрагент = Справочники.Контрагенты.ПустаяСсылка() Тогда Если ОбновлятьТолькоСчета Тогда Продолжить; Иначе Контрагент = ДобавитьКонтрагента(Строка.ПолноеНаименованиеКонтрагента, Строка.НаименованиеКонтрагента, Строка.ИннПолучателя, Строка.КппПолучателя); ////***** записать адрес КонецЕсли; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |