Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/137: Рейтинг темы: голосов - 137, средняя оценка - 4.92
7 / 7 / 0
Регистрация: 07.12.2010
Сообщений: 49

Перенос данных номенклатуры из одной базы в другую

12.12.2011, 11:34. Показов 27158. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеются несколько идентичных баз 1С (7.7), в которых одинаковая номенклатура. Как при заполнении в первой базе номенклатуры перенести эти же данные в другие базы? Т.е. как сделать импорт данных из одной номенклатуры в номенклатуру второй базы?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.12.2011, 11:34
Ответы с готовыми решениями:

Перенос данных из одной базы в другую через файл
Есть 2 разных базы: зкбу 1.0 и зкгу 3.1. Из зкбу в зкгу был перенос данных с сохранением уидов. Надо из зкбу ещё раз перенести данные...

Перенос данных из одной базы в другую: Com или Web сервис?
добрый вечер. Имеется необходимость перенести данные из одной базы в другую, данных много и поток данных в первую базу стабильно...

Перенос данных из одной базы в другую
Есть две индентичные базы, допустим база1 и база 2. Условно база1 содержит данные на 01,05,2000, а база2 на 10,05,2000. Подскажите можно...

6
8 / 8 / 0
Регистрация: 12.12.2011
Сообщений: 18
12.12.2011, 14:56
Стандартными средствами - не подскажу. А вот внешней обработкой - легко.
Я бы дал ссылку на то, что вам нужно. Но на этом форуме не разрешается давать ссылки.
А в силу своих способностей личных сообщений я что-то не нашёл.
0
7 / 7 / 0
Регистрация: 07.12.2010
Сообщений: 49
12.12.2011, 15:33  [ТС]
Цитата Сообщение от MadChildNSK Посмотреть сообщение
Стандартными средствами - не подскажу. А вот внешней обработкой - легко.
Я бы дал ссылку на то, что вам нужно. Но на этом форуме не разрешается давать ссылки.
А в силу своих способностей личных сообщений я что-то не нашёл.
если есть возможность, отправьте сообщение на
skype baro.k.
емейл barok88@gmail.com
icq 401-620-504
0
8 / 8 / 0
Регистрация: 12.12.2011
Сообщений: 18
12.12.2011, 16:29
1. Выгружаем Наименования всей Номенклатуры в файл:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Процедура Выгрузить()
Текст = СоздатьОбъект("Текст");
// Здесь добавляются заголовочные строки
 
спрНоменк = СоздатьОбъект("Справочник.Номенклатура");
спрНоменк.ВыбратьЭлементы();
Пока спрНоменк.ПолучитьЭлемент() = 1 Цикл
    Если спрНоменк.ЭтоГруппа() = 1 Тогда
        Продолжить;
    ИначеЕсли спрНоменк.ПометкаУдаления() = 1 Тогда
        Продолжить;
    ИначеЕсли ПустоеЗначение(спрНоменк.Наименование) = 1 Тогда
        Продолжить;
    КонецЕсли;
    // Вот здесь формируем вашу строку
        Стр = СокрЛП(спрНоменк.Наименование); // От куда что брать нужно смотреть в справонике
        Текст.ДобавитьСтроку(Стр);
    
КонецЦикла;
Текст.Записать("C:оменклатура.txt");
КонецПроцедуры
2. Загружаем из файла:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Процедура ЗагрузитьИзФайла()
    fso=СоздатьОбъект("Scripting.FileSystemObject");
    file=fso.OpenTextFile("C:оменклатура.txt", 1, 0, 0); //Открываем файл в режиме "только чтение"           
    спрНоменк = СоздатьОбъект("Справочник.Номенклатура");
    Пока file.AtEndOfStream=0 Цикл
      стр=file.ReadLine();   
      
      
      Если спрНоменк.НайтиПоНаименованию(стр) = 0 Тогда
        спр = СоздатьОбъект("Справочник.Номенклатура");
        спр.Новый();
        спр.Наименование = стр;
        спр.ПолнНаименование = стр;
        спр.Записать();  
                        
      Иначе
        
        Сообщить ("Дубликат: " + стр);
        
      КонецЕсли;
      
    КонецЦикла; 
    file.Close(); 
 
    
КонецПроцедуры
2
7 / 7 / 0
Регистрация: 07.12.2010
Сообщений: 49
15.12.2011, 13:10  [ТС]
Собсно переделал немного систему выгрузки/загрузки. И при загрузке выскакивает ошибка "Спр.ТовГруппа.Сезон=ТекТовГруппаС;
{Справочник.Номенклатура.ФормаСписка.Фор маСписка.Модуль(242)}: Не выбран элемент!"

вот код импорта
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Процедура ДобавитьИзФайла()
    ДБФ=СоздатьОбъект("XBase");
    Спр=СоздатьОбъект("Справочник.Номенклатура");
    ИмяФайла="";
    ИмяПути="";
    ПутьДБ="";
    ФС.ВыбратьФайл(0,ИмяФайла,ИмяПути,,"*.*",,);
    ПутьДБ=ИмяПути+ИмяФайла;
    ДБФ.ОткрытьФайл(ПутьДБ);
    Если ДБФ.Открыта()=1 Тогда
        ДБФ.Первая();
        Пока ДБФ.ВКонце()=0 Цикл           
            ТекОбозначение=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("B")));
            ТекНаименование=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("C")));  
            ТекБЕ=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("D")));
            ТекЦенаРозн=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("E"))); 
            ТекНП=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("G")));    
            ТекНДС=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("H"))); 
            ТекФото=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("I")));
            ТекТоргМарка=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("J")));  
            ТекТовГруппа=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("K"))); 
            ТекКоллекция=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("L"))); 
            ТекПоставщик=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("M")));  
            ТекЭкс=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("N")));
            ТекТовГруппаС=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("O")));  
            ТекТовГруппаПол=СокрП(СокрЛ(ДБФ.ПолучитьЗначениеПоля("P")));
            Если Спр.НайтиПоРеквизиту("Обозначение",ТекОбозначение,1)=0 Тогда
                Спр.Новый();    
                Спр.ИспользоватьДату(ТекущаяДата());
                       Спр.Обозначение=ТекОбозначение; 
                Спр.Наименование=ТекНаименование; 
                Спр.БазоваяЕдиница=ТекБЕ; 
                Спр.ЦенаРозн=ТекЦенаРозн;
                Спр.СтавкаНалпрод=ТекНП; 
                Спр.СтавкаНДС=ТекНДС;        
                Спр.ПутьККартинке=ТекФото;
                Спр.ТоргМарка=ТекТоргМарка;
                Спр.ТовГруппа=ТекТовГруппа; 
                Спр.Коллекция=ТекКоллекция;   
                Спр.Поставщик=ТекПоставщик;  
                Спр.Экс=ТекЭкс;      
                Спр.ТовГруппа.Сезон=ТекТовГруппаС;
                Спр.ТовГруппа.Пол=ТекТовГруппаПол;
                Спр.Записать();   
                Сообщить("Обозначение "+ТекОбозначение+" добавлено","!");
            Иначе Сообщить("Обозначение "+ТекОбозначение+" уже есть в справочнике","!");
            КонецЕсли;
            Если ДБФ.Следующая()=0 Тогда Прервать;
            КонецЕсли;
        КонецЦикла;
    Иначе Предупреждение("Не смогли открыть базу "+ПутьДБ);
    КонецЕсли;
    ДБФ=0; Спр=0;
КонецПроцедуры
Если закоментировать это поле, выскакивает точно такая же ошибка ещё по полю Спр.ТовГруппа.Пол=ТекТовГруппаПол;

Если закоментировать обе строки, то всё выполняется нормально.

Но мне надо чтобы эти строки тоже добавляло в новую номенклатуру. (Примечание: иногда они могут быть пустыми)

Подскажите в чём проблема?
0
 Аватар для fimbulwinter
309 / 309 / 1
Регистрация: 16.01.2011
Сообщений: 1,073
15.12.2011, 13:51
на инфостарт обработки обмена между идентичными конфигурациями
0
7 / 7 / 0
Регистрация: 07.12.2010
Сообщений: 49
15.12.2011, 16:21  [ТС]
Цитата Сообщение от fimbulwinter Посмотреть сообщение
на инфостарт обработки обмена между идентичными конфигурациями
Всё же хотелось бы разобрать в моём случае, почему выскакивают эти ошибки? Возможно загвоздка в том что реквизит ТовГруппа является подчинённым элементом другого справочника ТоварныеГруппы, в который и входят реквизиты "Сезон" и "Пол"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2011, 16:21
Помогаю со студенческими работами здесь

Перенос данных из одной базы в другую
Привет ребята!) В общем подскажите пжл, как написать запрос в такой ситуации: Есть BD1 таблица table1 с полями ID, ID_name1, таблица...

Перенос данных из одной базы в другую
Всем салам! Проблема такая, надо чтобы при нажатии на кнопку удаление из dbgrida удалялся нужный пункт и сразу заносился в другой, как...

Перенос данных (или части) из одной базы в другую
Добрый день! Проблема заключается в следующем. Есть 2 базы, одна с данными, другая без. Следовательно вторую надо заполнить. Это...

Перенос данных с одной базы interbase на другую чистую базу
Всем доброго времени суток! помогите пожалуйста с проблемой: есть база данных interbase размером примерно 900 мб, очень много в ней...

Перенос данных из одной базы данных в другую
Доброго дня суток, столкнулся с такой задачей: Есть 2 БД. Необходимо написать приложение по переносу содержимого введенной таблицы. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru