Доброго времени суток. нету случайно где-нить готовой обработки такой.<br>Есть базы данных SQL (не 1с) от туда надо просто перенести наименования в (1с SQL) в номенклатуру, просто списком, хотя бы просто название, что бы руками не создавать кучу.
Доброго времени суток. нету случайно где-нить готовой обработки такой.<br>Есть базы данных SQL (не 1с) от туда надо просто перенести наименования в (1с SQL) в номенклатуру, просто списком, хотя бы просто название, что бы руками не создавать кучу.
Или из SQL в XML в Exel а от туда в 1с. любой способ подойдет)
написать запрос на аддо ?<br><br>
> написать запрос на аддо ?<br>> <br>>
Я просто в sql полный ноль.<br><br>Я знаю название таблицы в базе sql от куда нужно взять все наименования. я знаю название таблицы в sql куда нужно впихнуть все наименования. а как это реализовать (не обязательно с помощью 1с) можно и по другому, я без понятия
select<br> имяКолонкиНаименовании<br>from<br> ИмяТаблицы<br><br>весь текст запроса, далее выборку обходим и записываем
остается где это писать ?? в SQL в базе куда нам надо закинуть?
"мне показалась данная задачка интересной и я придумал решение и даже протестил его:<br><br>Процедура Сформировать()<br> //здесь<br> //192.168.7.70 = ip Microsoft SQL Server<br> //User1C = пользователь, имеющий права доступа на базу в MS SQL Server (обычно sa, но я всегда меняю)<br> //omega = пароль пользователя<br> //BaseID = идентификатор базы<br> <br> ConnectionString = "Provider=SQLOLEDB;Data Source=192.168.7.70;Password=omega;User ID=User1C;Initial Catalog=BaseID";<br> <br> Соединение = СоздатьОбъект("ADODB.Connection"); <br> Соединение.ConnectionTimeOut =600;<br> Соединение.CursorLocation = 3;<br> Попытка<br> //здесь:<br> //HH123 - идентификатор поля, где лежит наименование<br> //TT567 - идентификатор таблицы, где лежат нужные данные<br> <br> Номенклатура=СоздатьОбъект("Справочник.Номенклатура");<br> Соединение.Open(ConnectionString); <br> Cmd = СоздатьОбъект("ADODB.Command");<br> Cmd.ActiveConnection = Соединение;<br> Cmd.CommandText = СокрЛП("Select HH123 FROM TT567");<br> Rs = CreateObject("ADODB.RecordSet");<br> Rs = Cmd.Execute;<br> Для i = 1 по Rs.RecordCount Цикл<br> ТекНаименование=СокрЛП(Rs.Fields("HH123").Value);<br> Если Номенклатура.НайтиПоНаименованию(ТекНаименование,0,1)=0 Тогда<br> Номенклатура.Новый();<br> Номенклатура.Наименование=ТекНаименование;<br> Номенклатура.Записать();<br> КонецЕсли;<br> Rs.MoveNext();<br> КонецЦикла;<br><br> Rs=0;<br> Соединение=0;<br> Исключение<br> Предупреждение(ОписаниеОшибки());<br> Соединение=0;<br> КонецПопытки;<br>КонецПроцедуры"
Воот спасибо большое. я так понимаю это надо в 1с писать. а где? в глМодуле.<br>Всмысле где надо написать этот скрипт что бы он запустился. <br>И есть Справочник не номенлатура а Склады (Места хранения) <br>То просто заменить место номеклатуры?
Да нет, сделать обработку внешнюю и в ней этот текст написать.<br>Только на копии базы пробуйте, а то, боюсь, наломаете дров.