Задача.<br>Есть 2 базы Бухгалтерия 7.7.<br>Поставлен вопрос: а возможно ли автоматически и вручную выгружать с одной базы в другую (базы на разных компах) периодически новых (вновь принятых) сотрудников из одной базы в другую?<br>
Задача.<br>Есть 2 базы Бухгалтерия 7.7.<br>Поставлен вопрос: а возможно ли автоматически и вручную выгружать с одной базы в другую (базы на разных компах) периодически новых (вновь принятых) сотрудников из одной базы в другую?<br>
Можно конечно, обычная задача по обмену данными
Не подскажете каким образом организовать выгрузку? Имею в виду выгрузку новых работников по определенной дате.. В стандартной обрабоке не нашел этого.
Написать программку нужно. Боюсь, что стандартные обработки переноса не сделают выборку нужных сотрудников по какому то алгоритму. Я бы воспользовался конфигурацией Конвертация данных для решения задачи. В ней можно сделать то, что вам хочется. Но придется поразбираться как там все устроено и, прямо скажем, с первого раза быстро это не сделать. Сложная штука. Очень удобна для тех, кто ее освоил и умеет ею пользоваться. Задача у вас простая для решения, но описывать какие кнопки жать нужно, - много писать сюда придется. Если сильно нужно, я напишу. Будет что то вроде урока по использованию механизма для начинающих
"Мы сделали на основе OLE. При начале работы системы пользователем имеющим права на обработку происходит обновление справочника из другой конфигурации.<br>Константа.ДатаПоследнегоОбновленияСпрСотрудники - можно не использовать, тогда при каждой загрузке будет происходить обновление<br>Если это длительная процедура, то лучше периодически ее где-нибудь на сервера с помощью шедулера запускать 1С с именем пользователя, имеющим право на эту обработку.<br>Процедура ПриНачалеРаботыСистемы()<br> Если (Константа.ДатаПоследнегоОбновленияСпрСотрудники < ТекущаяДата()) и (ПравоДоступа("Использование","Обработка.ЗагрузкаСпрСотрудникиИзЗиК")=1) Тогда<br> ОткрытьФорму("Обработка.ЗагрузкаСпрСотрудникиИзЗиК");<br> КонецЕсли;<br>КонецПроцедуры // ПриНачалеРаботыСистемы()<br><br>В обработке<br>Процедура ПриОткрытии()<br> СтатусВозврата(0); //Форма не открывается<br><br> ВыбКонПериода = ТекущаяДата();<br> Сформировать();<br> Возврат;<br>КонецПроцедуры<br><br>Процедура Сформировать()<br>НачатьТранзакцию();<br> v7 = СоздатьОбъект("v77.Application");<br> Попытка<br> Если ПустоеЗначение(Константа.СтрокаАктивацииБазыЗарплатаИКадры) = 1 Тогда<br> ФС.ВыбратьКаталог(Путь, "Каталог базы данных");<br> init = v7.Initialize(v7.RMTrade,"/d"+СокрЛП(Путь)+"\ /nИмяПользователя /pПароль","NO_SPLASH_SHOW");<br> Иначе<br> init = v7.Initialize(v7.RMTrade,"/d"+СокрЛП(Константа.СтрокаАктивацииБазыЗарплатаИКадры),"NO_SPLASH_SHOW");<br> КонецЕсли;<br> Исключение<br> Предупреждение("Ошибка инициализации базы данных!");<br> Возврат;<br> КонецПопытки;<br> Сотр_ЗИК = v7.EvalExpr("СоздатьОбъект(""""Справочник.Сотрудники"""")");<br> Сотр_ЗИК.ВыбратьЭлементы();<br> Пока Сотр_ЗИК.ПолучитьЭлемент() =1 Цикл<br> Сообщить(Сотр_ЗИК.Наименование);<br> //Обработка полученных данных<br> КонецЦикла;<br> Константа.ДатаПоследнегоОбновленияСпрСотрудники = ТекущаяДата();<br> ЗафиксироватьТранзакцию();<br>КонецПроцедуры<br>"
Подскажите, пожалуйста, куда конкретно вставлять эту процедурку )
А вас не смущает в тексте: //Обработка полученных данных ?<br><br>Человек вам подсказку выдал, но это не полная реализация вашей задачи. Сделано практически все, что нужно, алгоритм готов процентов на 90%. А вставить его можно, например, в модуль формы справочника сотрудников под какую нибудь кнопку, будете ее нажимать и будет вам результат.