Запрос 1С 7.7 в 1С 8.2 через COM #773021


#0 by sbvoshod
Доброго времени суток всем. Возникла такая проблема в решении следующей задачи: Переношу данные из 1С 7.7 в базу 1С 8.2 (Обычное приложение, Толстый клиент). Подключаюсь к БД 7.7 через COM-соединение С загрузкой справочников все прошло отлично. Далее перегружаю остатки. Создаю запрос и тут столкнулся с проблемой, не знаю как толком обойти её. В общем проблема в том, что не могу задать в тексте запроса дату!!! Т.е. текст такой: Косяк в том, что как я эту дату туда не запихиваю, в итоге получается дата формата 1С 8.2!!! Запрос 1С 7.7 её не понимает и выдает естественно ошибку. Пробовал разные методы: брал текущую дату, даже делал в базу 7.7 константу, задавал в ней дату, потом уже в обработке переноса в 1С 8.2 писал Он дату то получает, но она всегда в формате 1С 8.2, даже если получить её из константы базы 1С 7.7! В общем, пока вышел из положения так: просто заремарил в запросе период, в 1С 7.7 изменил точку актуальности на нужную мне дату и получил остатки на ДатуТА автоматом. Но мне еще периодические реквизиты из справочников переносить! :) И переносить документы за период некоторый! Че делать!? Как жить!? У кого есть решение данной проблемы? Может как то по другому подключиться к 1С 7.7 или все таки есть метод получения нормальной семерошной даты внутри 1С 8.2?
#1 by Mikeware
1. в поиск. рассматривалось неоднократно 2. формируй текст сразу с датами 3. используй готовые функции в клюшках (добавь, если нету), или даже внешние обработки
#2 by VladZ
Я обычно переношу либо файлами (текст), либо с помощью КД.
#3 by sbvoshod
Покопаюсь, спасибо. Поздно пить боржоми :) Уже основные справочники и остатки по товарам перетащил. Столько работы заново переделывать :)
#4 by Mikeware
КД - полезна. Хотя и дурна местами...
#5 by hhhh
что-то как-то типа |Период С '" + Формат(ДатаЗапроса, НужныйФормат) + "' по '" + Формат(ДатаЗапроса, НужныйФормат) + "'
#6 by sbvoshod
Пробовал - не катит. Примерно так делаю: Результат такой: "{Форма.Форма.Форма}: Ошибка при вызове метода контекста (Выполнить)         Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда по причине: Произошла исключительная ситуация (1С:Предприятие): Период с  <<?>> ДатаЗапроса по ДатаЗапроса; Запрос[2] : Ошибка в выражении 'ДатаЗапроса' "
#7 by VitShvets
|Период с " + ДатаЗапроса + " по " + ДатаЗапроса;
#8 by VitShvets
*Забыл вторую кавычку:
#9 by sbvoshod
Дак из ни нифига... Вообще ни как так не проканало. В общем я уже завел в 77 функцию, которая возвращает дату. Записал её в запросе. Проверил - в 7.7 все робит, в 8.2 выдает мне ошибку в тексте запроса на скобку!!! Но в 7.7 то ничего не выдает. В общем вышел наконец то из этой проблемы следующим образом: Код в 8.2: КонецЕсли; Код в 1С 7.7 (в глобальном модуле): Вот такая трехэтажная конструкция работает! Большего и не надо, можно просто любой запрос отработать в 7.7 :) Единственное, пробовал сам текст запроса передавать из 8.2, но он почему то же некорректно передается - обрезается и все тут!!! В общем тяжко, но работоспособно.
#10 by sbvoshod
Щас испытаю, может проканает. Отпишусь! будем наполнять форум знаниями. А то я весь нэт излазал, ничего нет такого почему то. Есть из 7.7 в 8.2 передача даты. Обратно нет :)
#11 by sbvoshod
Не, нифига: Вот результат: {Форма.Форма.Форма}: Ошибка при вызове метода контекста (Выполнить)         Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда по причине: Произошла исключительная ситуация (1С:Предприятие): Период с (дата(31.12.2015) <<?>> ) по (дата(31.12.2015)); Запрос[2] : Ошибка в выражении ')' Вот код: Причем всяко разно пробовал скобки, без скобок и так и сяк - в 1С 7.7 выполняется нормально, из 8 не хочет.
#12 by hhhh
да не в скобки надо взять дату а в апострофы? Чего вы чудите?
#13 by sbvoshod
Ну дык у Вас написано: |Период с " + ДатаЗапроса + " по " + ДатаЗапроса + "; Так не катит. Но почти. Методом тыка натыкал вот такой вариант: ЕЕЕ!!! Победа! Полная! :) Спасибо!!!
#14 by sbvoshod
Причем только так работает! Именно если взять ДатаЗапроса = "'31.12.2015'"; Ни с ' ни с " по отдельности не работает, ни преобразование в строку, ничего! Но такой вариант вполне, можно любую дату в принципе разобрать в такой вид.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С