Обработка из SQL базы в 1с SQL

Новая тема
Показывать по 10 20 40 сообщений
Доброго времени суток. нету случайно где-нить готовой обработки такой.
Есть базы данных SQL (не 1с) от туда надо просто перенести наименования в (1с SQL) в номенклатуру, просто списком, хотя бы просто название, что бы руками не создавать кучу.
Или из SQL в XML в Exel а от туда в 1с. любой способ подойдет)
написать запрос на аддо ?

http://aitika.ru/otvety/1973-1c-Kak-podklyuchitsya-k-baze-My-SQL-
> написать запрос на аддо ?
>
> http://aitika.ru/otvety/1973-1c-Kak-podklyuchitsya-k-baze-My-SQL-

Zak555
.. это единоразовая задача. так что надо как по проще и по быстрее ...не понял что ты имел ввиду под этой ссылкой.
у нас MS sql а не My Sql это ведь не одно и тоже хотя я совсем не секу в Сиквеле.

Смысл в том что есть 2 БД одна не 1с...вторая БД для 1с (оба ессесно sql) надо тупо из одной БД (из таблице) запихнуть все во вторую БД в таблицу .. таблица содержит только наименования (названия) просто их очень много, руками не перепишешь.
в 1с это будет в справочнике

Я просто в sql полный ноль.

Я знаю название таблицы в базе sql от куда нужно взять все наименования. я знаю название таблицы в sql куда нужно впихнуть все наименования. а как это реализовать (не обязательно с помощью 1с) можно и по другому, я без понятия
select
  имяКолонкиНаименовании
from
  ИмяТаблицы

весь текст запроса, далее выборку обходим и записываем
остается где это писать ?? в SQL в базе куда нам надо закинуть?
"мне показалась данная задачка интересной и я придумал решение и даже протестил его:

Процедура Сформировать()
    //здесь
    //192.168.7.70 = ip Microsoft SQL Server
    //User1C = пользователь, имеющий права доступа на базу в MS SQL Server (обычно sa, но я всегда меняю)
    //omega = пароль пользователя
    //BaseID = идентификатор базы

    ConnectionString = "Provider=SQLOLEDB;Data Source=192.168.7.70;Password=omega;User ID=User1C;Initial Catalog=BaseID";

    Соединение = СоздатьОбъект("ADODB.Connection");
    Соединение.ConnectionTimeOut =600;
    Соединение.CursorLocation = 3;
    Попытка
         //здесь:
         //HH123 - идентификатор поля, где лежит наименование
         //TT567 - идентификатор таблицы, где лежат нужные данные

         Номенклатура=СоздатьОбъект("Справочник.Номенклатура");
         Соединение.Open(ConnectionString);
         Cmd = СоздатьОбъект("ADODB.Command");
         Cmd.ActiveConnection = Соединение;
         Cmd.CommandText  = СокрЛП("Select HH123 FROM TT567");
         Rs = CreateObject("ADODB.RecordSet");
         Rs = Cmd.Execute;
         Для i = 1 по Rs.RecordCount Цикл
              ТекНаименование=СокрЛП(Rs.Fields("HH123").Value);
              Если Номенклатура.НайтиПоНаименованию(ТекНаименование,0,1)=0 Тогда
                   Номенклатура.Новый();
                   Номенклатура.Наименование=ТекНаименование;
                   Номенклатура.Записать();
              КонецЕсли;
              Rs.MoveNext();
         КонецЦикла;

         Rs=0;
         Соединение=0;
    Исключение
         Предупреждение(ОписаниеОшибки());
         Соединение=0;
    КонецПопытки;
КонецПроцедуры"
Воот спасибо большое. я так понимаю это надо в 1с писать. а где? в глМодуле.
Всмысле где надо написать этот скрипт что бы он запустился.
И есть Справочник не номенлатура а Склады (Места хранения)
То просто заменить место номеклатуры?
Да нет, сделать обработку внешнюю и в ней этот текст написать.
Только на копии базы пробуйте, а то, боюсь, наломаете дров.
Читают тему
(гостей: 1)

Быстрый переход