Адрес Контрагента в текстовый файл ... HELP

1. deniska407 06.11.08 13:42 Сейчас в теме
Приветствую ВСЕХ!

В 7.7 все просто:
...
справ = СоздатьОбъект("Справочник.Контрагенты");
АдресАгента=строка(справ.ЮридическийАдрес);
...

В 8.1 структура справочника Контрагенты изменилась. Подскажите, пожалуйста,
как прочитать / записать в переменные ИндексАгента, ГородАгента, УлАгента, ДомАгента, КорпАгента его индекс, город,улицу, дом и корпус ?

С ув.,
Д.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Душелов 4017 06.11.08 13:46 Сейчас в теме
Так посмотрите типовой пример, там довольно понятно разбирается адрес.
3. deniska407 06.11.08 13:50 Сейчас в теме
Простите за чайниковский вопрос: а где типовой пример посмотреть ???

С ув.,
Д.
4. Vitek 06.11.08 13:52 Сейчас в теме
В типовой конфигурации. Например в УТ.
5. deniska407 06.11.08 13:57 Сейчас в теме
ув. Lomok, а подробнее можно ???
6. Vitek 06.11.08 14:14 Сейчас в теме
Открываем Управление Торговлей.
Общий модуль контактная информация, там куча примеров.
Открываешь справочник контрагенты, табличное поле КонтактнаяИнформация - пример того как это все работает.
7. deniska407 06.11.08 14:50 Сейчас в теме
Опять ничего не понял ... :-( Ну подскажите один раз "чайнику":

Нашел УСО - Регистр сведений - Контактная информация:

Процедура ПередЗаписью(Отказ, Замещение)
...

...
КонецПроцедуры

Нашел УСО - Справочники - Контрагенты - куда нажимать дальше, чтобы найти "табличное поле КонтактнаяИнформация" я так и не понял ...

С ув.,
Д.
8. Душелов 4017 06.11.08 14:56 Сейчас в теме
Смотрите общий модуль, указанный выше. Там есть функции, разбора адресной строки.
9. Vitek 06.11.08 14:57 Сейчас в теме
Млин, Денис, что тебе посоветовать...Открываешь ЖКК, или Радченко, или Митичкина, в общем любую книгу по восьмере для начинающих, и читаешь до полного просветления :)
10. deniska407 06.11.08 14:59 Сейчас в теме
Ну ребята, ну не глумитесь! Пожалуйста, по шагам расскажите для "чайника" ОДИН РАЗ как добраться до нужного кода.
11. Душелов 4017 06.11.08 15:00 Сейчас в теме
ЖКК - желто-красная книжка с описание встроенного языка...
12. Душелов 4017 06.11.08 15:00 Сейчас в теме
Мы не глумимся, мы сказали, где смотреть.
Если с кодом тяжело, то тогда в отладчике пошагово выйти на требуемое место.
13. deniska407 06.11.08 15:06 Сейчас в теме
ВСЕМ Спасибо. Уже пошел на...
14. PeRom 51 06.11.08 15:11 Сейчас в теме
deniska407 Никто над тобой не глумится. Но по сравнению с 77 в 8-ке есть некоторые принципиальные различия, и если это принцип 8-ый не вкуришь, дальнейшие объяснения безполезны, даже если всё расписать пошагово.
немного наведу: в 8 нет периодических реквизитов, но есть регистры сведений...
15. Vitek 06.11.08 15:47 Сейчас в теме
2 deniska407, ничего личного мэн, можно конечно прямо ткнуть носом в нужное место, выложить нужный тебе код, только ничего хорошего из этого не выйдет.

Душелов, PeRom +1.
16. Tsprogrammist1 85 06.11.08 17:44 Сейчас в теме
Я Сам новичек в 1с. Вот ето вроде как работает :)(может и написанно бездарно:(). Как положить в файл разберешся .Надеюсь етот пример поможет . Но помни самый ценный опыт полученный своими силами.

Процедура КнопкаВыполнитьНажатие(Кнопка)
СпрКонтрагенты=Справочники.Контрагенты;
СПРВидыКонтактной=Справочники.ВидыКонтактнойИнформации;

Тип= Перечисления.ТипыКонтактнойИнформации.Адрес;
Вид=СПРВидыКонтактной.НайтиПоКоду("00008"); //Факт адрес. контр.

Выборка = СпрКонтрагенты.Выбрать();
Пока Выборка.Следующий() Цикл
Объект=СпрКонтрагенты.НайтиПокоду(Выборка.код);
Сообщить(Объект.Код);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Объект", Объект);
Запрос.УстановитьПараметр("Тип" , Тип);
Запрос.УстановитьПараметр("Вид" , Вид);

Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КонтактнаяИнформация.Поле1,
| КонтактнаяИнформация.Представление,
| КонтактнаяИнформация.Поле2,
| КонтактнаяИнформация.Поле3,
| КонтактнаяИнформация.Поле4,
| КонтактнаяИнформация.Поле5,
| КонтактнаяИнформация.Поле6,
| КонтактнаяИнформация.Поле7,
| КонтактнаяИнформация.Поле8,
| КонтактнаяИнформация.Поле9,
| КонтактнаяИнформация.Поле10
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект = &Объект
| И КонтактнаяИнформация.Тип = &Тип
| И КонтактнаяИнформация.Вид = &Вид";
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Пока РезультатЗапроса.Следующий() цикл
Сообщить(Выборка.Наименование+"--"+РезультатЗапроса.Представление+"---"+РезультатЗапроса.Поле3);
КонецЦикла
КонецЦикла;
КонецПроцедуры
17. Душелов 4017 06.11.08 17:49 Сейчас в теме
Зачем такая конструкция?

Код
Выборка = СпрКонтрагенты.Выбрать(); 
Пока Выборка.Следующий() Цикл 
   Объект=СпрКонтрагенты.НайтиПокоду(Выборка.код); // Нужен объект, используй Объект = Выборка.Ссылка;
   ...
КонецЦикла
Показать полностью
18. Vitek 07.11.08 09:02 Сейчас в теме
Запрос в цикле - моветон.
19. Душелов 4017 07.11.08 09:47 Сейчас в теме
О да, а слона-то я и не заметил...
20. deniska407 07.11.08 10:40 Сейчас в теме
Уважаемый Tsprogrammist1! Не могли бы Вы подсказать как ЗАПИСЫВАТЬ в поля наименования, адреса, ... контрагента

С ув.,
Д.
21. Vitek 07.11.08 10:43 Сейчас в теме
Через набор записей соответствующего регистра сведений. О чем-нибудь говорит?
22. deniska407 07.11.08 11:54 Сейчас в теме
к сожалению ничего ... Если можно, напиши код.
23. Душелов 4017 07.11.08 12:02 Сейчас в теме
Может все таки стоит документацию по 1С почитать?

РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Имя регистра сведений>)
РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Имя регистра сведений>)

Элементы коллекции:
РегистрСведенийЗапись

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0) записи.

Свойства:
ДополнительныеСвойства (AdditionalProperties)
ОбменДанными (DataExchange)
Отбор (Filter)
ЭтотОбъект (ThisObject)

Методы:
Вставить (Insert)
Выбран (Selected)
Выгрузить (Unload)
ВыгрузитьКолонки (UnloadColumns)
ВыгрузитьКолонку (UnloadColumn)
Добавить (Add)
Загрузить (Load)
ЗагрузитьКолонку (LoadColumn)
Записать (Write)
Индекс (IndexOf)
Итог (Total)
Количество (Count)
Метаданные (Metadata)
Модифицированность (Modified)
Очистить (Clear)
Получить (Get)
ПолучитьФорму (GetForm)
Прочитать (Read)
Сдвинуть (Move)
Удалить (Delete)
УстановитьАктивность (SetActive)

События:
ПередЗаписью (BeforeWrite)
ПриЗаписи (OnWrite)

Описание:
Предназначен для операций с наборами записей регистра сведений в памяти. Представляет собой коллекцию записей регистра сведений. Позволяет выполнять считывание записей по определенному условию отбора из базы данных, добавлять, удалять и модифицировать записи в наборе. Также может быть выполнена запись в базе данных по определенному условию. При записи может выполняться замещение всех имеющихся в базе данных записей по данному условию на записи, содержащиеся в наборе.
Максимальное число записей в наборе 999999999.
XML-сериализация. Поддержка отображения в XDTO; пространство имен: {http://v8.1c.ru/8.1/data/enterprise/current-config}. Имя типа XDTO: InformationRegisterRecordSet.<Имя регистра сведений>.

Пример:
Код
КурсыВалют = РегистрыСведений.КурсыВалют;
НаборКурсов = КурсыВалют.СоздатьНаборЗаписей();
Доллар = Справочники.Валюты.НайтиПоНаименованию("USD");
НаборКурсов.Отбор.Валюта.Установить(Доллар);
НаборКурсов.Отбор.Период.Установить(НачалоДня(ТекущаяДата()));
НаборКурсов.Прочитать();
Если НаборКурсов.Количество() = 0 Тогда
    НовыйКурс = НаборКурсов.Добавить();
    НовыйКурс.Валюта = Доллар;
    НовыйКурс.Период = ТекущаяДата();
ИначеЕсли НаборКурсов.Количество() = 1 Тогда
    НовыйКурс = НаборКурсов[0];
Иначе
    Предупреждение("Курс валюты задается один раз в день.", 60);
    Возврат;
КонецЕсли;
НовыйКурс.Курс = 31.44;
НовыйКурс.Кратность = 1;
НаборКурсов.Записать();
Сообщить("Курс " + СокрЛП(НовыйКурс.Валюта) + " на сегодня: "+ 
              НовыйКурс.Курс + " руб.");
Показать полностью


См. также:
РегистрСведенийЗапись, свойство Активность
РегистрСведенийВыборка, свойство Активность
РегистрСведенийМенеджер, метод СоздатьНаборЗаписей
РегистрСведенийНаборЗаписей, свойство ЭтотОбъект
24. PeRom 51 07.11.08 19:22 Сейчас в теме
Оказывается не прочитать а записать нужно. Пятниццо - мозг уже не работает, ещё и ГЕниЙ подзасрал. Но кое что накопал:
Адреса хранятся не в справочнике а в РегистреСведений.КонтактнаяИнформация следующей структуры

СтруктураЗаписи = Новый Структура;
СтруктураЗаписи.Вставить("Объект" , Контрагент); //или Объект.ссылка
СтруктураЗаписи.Вставить("Тип" , Перечисления.ТипыКонтактнойИнформации.Адрес);
СтруктураЗаписи.Вставить("Вид" , Запись.Вид); //Можно и пустой
СтруктураЗаписи.Вставить("Представление", Запись.Представление); //Вся строка адреса
СтруктураЗаписи.Вставить("Комментарий" , Запись.Комментарий);
Для а = 1 По 10 Цикл
СтруктураЗаписи.Вставить("Поле" + Строка(а), Запись["Поле" + Строка(а)]);
//Поле1 - Индекс
//Поле2 - регион
//Поле3 - район
//Поле4 - Город и тд.
КонецЦикла;
Возврат СтруктураЗаписи;
Структуру нужно засунуть в РегистрСведенийНаборЗаписей и записать регистр.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот