Версия для печати темы (https://pro1c.org.ua/index.php?s=2e3baf82ce4150cf8c7e8b5f4383cd5b&showtopic=67292)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Работа с типизированной таблицей значений

Автор: CapitalistOleg 17.07.23, 9:01

Необходимо реализовать выгрузку(вставку, обновление, удаление) регистра бухгалтерии во внешнюю базу данных.
Регистратор и субконто достаточно выгружать как текстовые.
Нужен уникальный ключ, по которому я буду связывать эти таблицы. Поскольку в 1С нельзя запросом получить ID записи таблицы ДвиженияССубконто, решил в качестве ключа взять два поля: Регистратор и НомерСтроки
Регистратор в таблице-получателе определил как строку 150.
В запросе 1С нельзя сделать из регистратора строку 150
ПОДСТРОКА(ПРЕДСТАВЛЕНИЕ(Регистратор), 1, 150)
работать не будет
Создал типизированную таблицу. Ее планирую связывать с таблицей из внешней БД. Но туда результат запроса не загрузишь так, чтобы не потерять тип поля.
Можно перебором. Но записей много. Оставил этот вариант как последний, если ничего лучше не найду.

Что тут можно придумать?

Автор: Vofka 17.07.23, 10:49

Можно проверять тип регистратора в запросе и основываясь на этом сделать свой текстовый ключ:

|ВЫБОР
|   КОГДА Регистратор ССЫЛКА ДокументСсылка.РасходнаяНакладная ТОГДА "РН_" + Регистратор.Номер

Автор: CapitalistOleg 17.07.23, 11:34

Vofka @ Сегодня, 11:49 * ,
Ну так на каждый документ делать, то большой запрос получится)) Тем более в 1С могут создаваться новые документы. Это для каждого добавлять условие.

Все получилось. Сделал от обратного.
1. Получил записи из регистра. Использовал функцию ПРЕДСТАВЛЕНИЕ. Выгрузил в обычную таблицу значений
2. Выгрузил записи из внешней таблицы в таблицу значений.
3. В новом запросе в качестве параметра указал эти таблицы. Для полей неограниченной длины применил функцию ПОДСТРОКА и все склеилось!))

Всем спасибо за внимание.

Автор: alex-l1904 17.07.23, 14:14

Цитата(CapitalistOleg @ 17.07.23, 12:34) *
Регистратор в таблице-получателе определил как строку 150

я так розумію що "Регистратор в таблице-получателе определил как строку 150" було зайвим. Так ?

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua