Дозагрузка кадровых документов в ЗУП 3.1 из ЗУП 2.5 в интерактивном режиме (загрузка в документы списком)

11.09.18

Интеграция - Перенос данных 1C

При переходе с ЗУП 2.5 на ЗУП 3.1, иногда по тем или иным причинам требуется ручной перенос кадровых документов за период. Это помощник ручного создания кадровых документов в ЗУП 3.1, который пытается по максимуму заполнить открываемую форму данными из ЗУП 2.5 (через COM-соединение), попутно создает сотрудников и физлиц, если их нет. Основано на публикации rilmir https://infostart.ru/public/793479/ , которое было местами переписано заново, почищено, отлажено, и все равно там еще есть что переделать и оптимизировать, и которое в свою очередь было когда то чьим-то еще творением, видимо для более глобальных целей.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Дозагрузка кадровых документов в ЗУП 3.1 из ЗУП 2.5 в интерактивном режиме, версия 2.1
.epf 81,33Kb ver:2.1
192
192 Скачать (1 SM) Купить за 1 850 руб.

Это помощник ручного создания кадровых документов в ЗУП 3.1, который пытается по максимум заполнить открываемую форму данными из ЗУП 2.5 (через COM-соединение), попутно создает сотрудников и физлиц, если их нет.
Основано на публикации rilmir //infostart.ru/public/793479/

Не идеал, можно еще многое переделать и оптимизировать. Выложено как более функциональная и менее косячная версия по просьбе некоторых читателей комментариев ссылки выше.

Протестирована на Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.6.54)  и Зарплата и управление персоналом КОРП, редакция 2.5 (2.5.133.1) .
Должно работать и на не КОРП версиях.

Некоторые рекомендации и замечания:

- Если в базах используется РЛС, то пользователь 3.1 с РЛС, использующий данную обработку, например кадровик из филиала, должен подключаться к базе 2.5 под аналогичным кадровиком филиала с таким же ограничениями на просмотр документов и сотрудников (у последнего должна быть в правах включена галочка Внешнее соединение). Т.е. не прописывать подключение под администратором в филиалах :)

- Перед переносом документов желательно должно быть заведено Штатное расписание. Подразделения, должности, графики не переносятся этой обработкой. Физлица и Сотрудники создаются, причем при переносе документа любого типа, но нужно все равно проверить перенесенные данные. Например, перенос адреса хоть и улучшен, но номер квартиры так и не открывается в полях адресного классификатора.

- Можно использовать теперь отбор переносимого по виду документов (флажки).

- Тип документа 3.1, в который будет переносится документ 2.5 и который заполняется автоматически при нажатии на кнопку "Прочитать", можно отредактировать вручную, если вы считаете, что должен быть например КадровоеПеремещениеСписком, а не ИзменениеГрафикаСписком.

- ИзменениеГрафикаСписком определяется наличием одного графика для всех на один период и простым быстрым способом - по комментарию (он должен содержать слова "график", "смена режима", "Внутренний временный перевод"), для моей рабочей базы это было достаточно. Желающим можно извратиться и дописать сравнение графиков и начислений до и после перевода.

- Теперь можно переносить отпуска, не только в документ Отпуск, но и помимо ОтпускаСотрудников в ОтпускБезСохраненияОплаты и ОтпускБезСохраненияОплатыСотрудников. Без сохранения оплаты определяется в запросе по документам следующим образом (максимум по всей табличной части РаботникиОрганизации документа в ЗУП 2.5)

|МАКСИМУМ(ВЫБОР КОГДА ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия = ЗНАЧЕНИЕ(Перечисление.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускБезСохраненияЗарплаты) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ) КАК ЭтоОтпускБезСохраненияЗарплаты,

- Хоть и были использованы некоторые процедуры формы при изменении тех или иных реквизитов. Но в кадровом переводе списком, возможно нужно иногда заходить в строку по сотруднику, в открывшемся окне (там все перенесено) включать выключать какую-нибудь галочку, чтобы при возврате в строке появлялась запись типа "изменен график работы" и т.п.

- Есть возможность переноса нетиповых добавленных в конфигураторе дополнительных реквизитов (например, флажков) из 2.5 в типовой механизм Дополнительных реквизитов, заводимых в режиме Предприятия в 3.1. Оставлено в обработке закомментированным для примера, подробнее описано здесь //infostart.ru/public/901654/ 

- Мне требовались только кадровые Приемы (списками), Перемещения (списками) и Увольнения (без списков), все остальное тоже переделано для загрузки в документы списками и работает, но оно меньше тестировались. Увольнение списком сделано только базово, без начислений (у одиночного Увольнения расчет начислений в 3.1 был сделан еще предыдущим автором) Заполнение больничного прежнее, без начислений, исправлена выдаваемая ранее ошибка при прочтении: "{ВнешняяОбработка.РаботаСКадрами_из_ЗУП25.МодульОбъекта(1270)}: Значение не является значением объектного типа (Пустая) Если НС.Ссылка.Пустая() И НЕ НС.Сотрудник.Пустая() Тогда" 

- В моей рабочей базе коды начислений в 2.5 и 3.1 унифицированы и в целом совпадают. Для типовой оставлен такой вариант с кодами начислений для приема и перемещений:

//Не будем переносить районный коэффициент
Если СокрЛП(КодНачисления) = "00070" ИЛИ СокрЛП(ОснНачисление.ВидРасчета.Description) = "Районный коэффициент" Тогда
  Продолжить;
КонецЕсли;

//добавить нужные доплаты при приеме при необходимости
Если СокрЛП(ОснНачисление.ВидРасчета.Description) = "Месячная премия" Тогда
  КодНачисления = "ПРЕМП";
ИначеЕсли СокрЛП(КодНачисления) = "00001" Тогда
  КодНачисления = "ОКЛ";
ИначеЕсли СокрЛП(КодНачисления) = "00002" Тогда
  КодНачисления = "ОКЛЧС";
ИначеЕсли СокрЛП(КодНачисления) = "00003" Тогда
  КодНачисления = "ТРФЧС";
КонецЕсли;
				
СтруктураНачисленийСотрудника.Вставить("ОснНачисление" + СокрЛП(а), ПланыВидовРасчета.Начисления.НайтиПоКоду(КодНачисления));

и такой поиск для отпусков, командировок и больничных:

//начисления ищем по кодам для типовой, учебный и дополнительный ежегодный - попытка найти по имени, нужно поправить на наименование или код в базе
ПричинаОтсутствияТам = БазаТам.String(РаботникОрганизации.ПричинаОтсутствия);
Если ПричинаОтсутствияТам = "Отпуск ежегодный" Тогда
  РеквизитыДокумента25.Вставить("РаботникиОрганизацииВидОтпуска" + СокрЛП(к), Справочники.ВидыОтпусков.Основной);
  РеквизитыДокумента25.Вставить("РаботникиОрганизацииВидОтпускаНачисление" + СокрЛП(к), ПланыВидовРасчета.Начисления.НайтиПоКоду("ОТ")); //Отпуск основной
ИначеЕсли ПричинаОтсутствияТам = "Отпуск учебный" Тогда
  РеквизитыДокумента25.Вставить("РаботникиОрганизацииВидОтпуска" + СокрЛП(к), Справочники.ВидыОтпусков.ОтпускУчебный);
  РеквизитыДокумента25.Вставить("РаботникиОрганизацииВидОтпускаНачисление" + СокрЛП(к), ПланыВидовРасчета.Начисления.НайтиПоНаименованию("Учебный отпуск")); //Учебный отпуск 
ИначеЕсли ПричинаОтсутствияТам = "Отпуск учебный неоплачиваемый" Тогда
  РеквизитыДокумента25.Вставить("РаботникиОрганизацииВидОтпуска" + СокрЛП(к), Справочники.ВидыОтпусков.ОтпускБезОплатыУчебный);
  РеквизитыДокумента25.Вставить("РаботникиОрганизацииВидОтпускаНачисление" + СокрЛП(к), ПланыВидовРасчета.Начисления.НайтиПоКоду("ОТПУД")); //Дополнительный учебный отпуск без оплаты
ИначеЕсли ПричинаОтсутствияТам = "Отпуск без сохранения заработной платы" Тогда
  РеквизитыДокумента25.Вставить("РаботникиОрганизацииВидОтпуска" + СокрЛП(к), Справочники.ВидыОтпусков.ОтпускБезОплатыПоТКРФ);
  РеквизитыДокумента25.Вставить("РаботникиОрганизацииВидОтпускаНачисление" + СокрЛП(к), ПланыВидовРасчета.Начисления.НайтиПоКоду("ОТПДО")); //Отпуск за свой счет
Иначе
  РеквизитыДокумента25.Вставить("РаботникиОрганизацииВидОтпуска" + СокрЛП(к), Справочники.ВидыОтпусков.ПустаяСсылка());
КонецЕсли;
//для типовой
РеквизитыДокумента25.Вставить("РаботникиОрганизацииВидРасчетаНачисление" + СокрЛП(к), ПланыВидовРасчета.Начисления.НайтиПоКоду("КОМНД")); //Командировка
//для типовой по коду
РеквизитыДокумента25.Вставить("ВидРасчета", ПланыВидовРасчета.Начисления.НайтиПоКоду("БЛН")); //Больничный
РеквизитыДокумента25.Вставить("ВидРасчетаЗаСчетРаботодателя", ПланыВидовРасчета.Начисления.НайтиПоКоду("БЛРДТ")); //Оплата больничного листа за счет работодателя
	
РеквизитыДокумента25.Вставить("ДоплачиватьДоПолногоСреднегоЗаработка", ТекДокументТам.ДоплачиватьДоПолногоСреднегоЗаработка);
//попытка найти по наименованию, поправить на наименование из рабочей базы
РеквизитыДокумента25.Вставить("ВидРасчетаДоплаты", ПланыВидовРасчета.Начисления.НайтиПоНаименованию("Доплата до среднего заработка")); //Доплата до среднего заработка

Нужно поменять на свое, если требуется.

 

Отличия от версии 1.1 rilmir ( //infostart.ru/public/793479/ )

взято из своих же комментариев, описанные замечания исправлены.

- пришлось полностью переписать прочтение доков в таблицу, ибо все множилось зачем-то по одному и тому же документу, лишние реквизиты в запросе...
- сделаны маленькие полезняшки с отбором по типу загружаемого, с визуальным просмотром таб номеров сотрудников до и после (чтоб можно было визуально понять, например, найден точно он или он-совместитель), добавлено отображение списка сотрудников в документе 2.5 для информации. отображение комментария документов.
- полностью переписаны процедуры заполнения реквизитов документов в структуры для загрузки, с учетом того, что они могут потом использоваться для загрузки в документы списком. в том числе и начисления записываются не для одного, а всех сотрудников с возможностью потом найти чье именно.
- сделана загрузка в документы-списки, в том числе с попыткой определять, когда данные подходят для ИзменениеГрафикаСписком, ОтпускБезСохраненияОплаты и ОтпускБезСохраненияОплатыСотрудников, написана загрузка для них.
- подкорректировано дозаполнение формы в документах по одному сотруднику, типа расчета итогового ФОТ в Приеме на работу после загрузки начислений
- добавлено перенос действий Установить, Отменить и т.п. для начислений в Кадровых перемещениях, ибо переносилось все независимо от источника с предопределенным действием Установить.
- исправлены "Объект не найден" на СтрНайти(СокрЛП(НС.Ссылка),"Объект не")>0 Тогда,
именно так СокрЛП обрезает не найденную ссылку
- исправлена ошибка во всех процедурах ПолучитьРеквизиты...() :
        1. для сотрудников стояла ГУИД_Организация
        2. не надо продолжать сотрудников искать по наименованию, если код, т.е. табельный номер у них уже не равен. если такой найдется, то это он же совместитель или уволенный ранее

ГУИД_Сотрудник = БазаТам.String(РаботникОрганизации.Сотрудник.УникальныйИдентификатор());
Если СокрЛП(ГУИД_Организация) <> "00000000-0000-0000-0000-000000000000" Тогда // ПустаяСсылка
  Сотрудник = Справочники.Сотрудники.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИД_Сотрудник));
  Если СтрНайти(СокрЛП(Сотрудник), "Объект не") Тогда
    Сотрудник = Справочники.Сотрудники.НайтиПоКоду(СокрП(РаботникОрганизации.Сотрудник.Code));
    //не надо так, это другой сотрудник - он же уже уволенный или совместитель
    //Если НЕ ЗначениеЗаполнено(Сотрудник) Тогда
    // Сотрудник = Справочники.Сотрудники.НайтиПоНаименованию(СокрЛП(РаботникОрганизации.Сотрудник.Description));
    //КонецЕсли; 
  КонецЕсли;
Иначе
  Сотрудник = Справочники.Сотрудники.ПустаяСсылка();
КонецЕсли;

- сделан поиск физлица в первую очередь по ИНН

- ошибка в загрузке физ лиц, если физлицо не военнообязанное, то ВДЗКом.ОтношениеКВоинскомуУчету - пустая ссылка в базе 2.5 и индекс по ней получить нельзя, вылетает на этой строке:

ОтношениеКВоинскомуУчетуТам = СокрЛП(БазаТам.String(ВДЗКом.ОтношениеКВоинскомуУчету));
Ном = "";
Ном = БазаТам.Перечисления.ОтношениеКВоинскомуУчету.Индекс(ВДЗКом.ОтношениеКВоинскомуУчету);

- не нужно создавать физлицо по умолчанию вместе с сотрудником, если сотрудник не найден, часто оно есть, хоть и с другим GUID и вот его как-то стоит поискать по наименованию еще дополнительно. а так дубли плодятся в базе, а по внутренним совместителям с разными физлицами потом еще и НДФЛ не соберете, если не проверите и оставите как загрузилось

- созданное физлицо, если его нет, не обновляется после создания в реквизитах (структуре РеквизитыДокумента25) для записи документа. и в этом случае в документ запишется новосозданный сотрудник и пустое физлицо.

- добавлен перенос Группы доступа физлица (очень важно для тех кто работает в филиалах с ограничением на просмотр физлиц), заполнение регистра сведений ФИО физлиц последними сведениями.

- при приеме и перемещении в начислениях районный коэффициент не нужно тянуть в табличную часть 3.1 из 2.5

- исправлена ошибка при прочтении больничного: "{ВнешняяОбработка.РаботаСКадрами_из_ЗУП25.МодульОбъекта(1270)}: Значение не является значением объектного типа (Пустая)
Если НС.Ссылка.Пустая() И НЕ НС.Сотрудник.Пустая() Тогда"

- добавлен перенос номера и даты трудового договора  при Приеме на работу

- исправлено частично, номер квартиры до сих пор не открывается:
не корректно загружается контактная информация, таблица справочника физлица не полностью заполняется, из-за этого, при открытии адреса - он пустой

Переход ЗУП 2.5 ЗУП 3.1 перенос данных перенос документов перенос физлиц интерактивное заполнение формы COM-соединение

См. также

SALE! 10%

Перенос данных 1C Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

55778 50200 руб.

04.08.2015    168869    350    280    

385

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27660 24894 руб.

12.06.2017    143781    830    297    

430

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.20.x), также подходят для релиза 11.5 (11.5.19.x).

35000 31500 руб.

23.07.2020    53967    238    73    

194

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    37499    100    68    

96

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.237.x) и БП 3.0 (3.0.166.x). Правила подходят для версии ПРОФ и КОРП.

35000 31500 руб.

15.12.2021    25057    175    51    

133

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

55778 50200 руб.

15.04.2019    72976    188    152    

127

Перенос данных 1C Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.

12000 руб.

25.09.2016    81832    332    253    

282
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. васисубатор 68 13.09.18 17:02 Сейчас в теме
Полезная вещь в наше смутное время переносов. Только физлиц я обычно ищу в первую очередь по СНИЛС - ИНН не у всех есть
2. bugtester 606 14.09.18 04:13 Сейчас в теме
(1) Работаете с ортодоктально религиозными людьми?)
В наше смутное время пенсионных реформ, скоро и СНИЛС может стать ненужным
3. васисубатор 68 14.09.18 12:47 Сейчас в теме
Его дают уже детям, используют для авторизации на госуслугах, ... в отличие от бесовского ИНН :)
4. nia72 27.11.18 17:01 Сейчас в теме
Так и не понял - обработка работоспособная?
5. bugtester 606 28.11.18 04:15 Сейчас в теме
(4) работоспособная, но не без огрехов. допилить там тоже есть что. но поменьше, чем в изначальной ссылке
6. nia72 28.11.18 08:17 Сейчас в теме
Да, очень даже работоспособная. за что автору большой респект и уважуха! Допилил в части поступлений. А именно - корректный ввод вида занятости для создаваемого сотрудника в документах приема, по документу ПриемНаРаботуСписком изменил расшифровку и отображение ставки, чтобы не заходить в каждую строку и не перекнопывать ФОТ или количество ставок. Остальное надеюсь сегодня доделать и приспособить для массовой загрузки документов по каждому сотруднику в хронологии кадровых движений.
7. FReIM 9 12.12.18 12:28 Сейчас в теме
Добрый день.
Есть ли обновление обработки под версию ЗУПа 3.1.8.185? Платформу используем 8.3.13.1644.
8. bugtester 606 13.12.18 04:37 Сейчас в теме
(7) нет, использовалась единично, нужды на последующих релизах не было.
вы нашли что-то, что на 3.1.8.185 перестало работать?
9. vin_lucy 5 13.12.18 06:28 Сейчас в теме
На 3.1.8.185 - Приемы на работу, отпуска - работает. (другое пока не проверяли).
Очень облегчает жизнь. Спасибо.
10. FReIM 9 13.12.18 10:40 Сейчас в теме
(8) Приём, перевод, увольнение, отпуск, отпуск без сохранения, больничный загрузились
При создании командировки появилась ошибка на картинке.

ЗУП КОРП 3.1.8.185. Платформа 8.3.13.1644. Все документы, которые к загрузке, типовые.
Прикрепленные файлы:
11. snogl 31.01.19 10:59 Сейчас в теме
Добрый день! Подскажите...
Необходимо выгрузить все из ЗУП (базовая), редакция 2.5 (2.5.130.2) в ЗУП (базовая), редакция 3.1 (3.1.8.246).
Данная обработка для этой цели подойдет ?
14. bugtester 606 27.06.19 05:01 Сейчас в теме
(11) не проверял, но шанс есть, в любом случае можно взять за основу для правки кода под себя
12. victor_k 95 21.06.19 07:37 Сейчас в теме
как то сложно

ГУИД_Сотрудник = БазаТам.String(РаботникОрганизации.Сотрудник.УникальныйИдентификатор());
Если СокрЛП(ГУИД_Организация) <> "00000000-0000-0000-0000-000000000000" Тогда // ПустаяСсылка

должно сработать

РаботникОрганизации.Сотрудник.Пустая()
или
БазаТам.ЗначениеЗаполнено(РаботникОрганизации.Сотрудник)
13. bugtester 606 27.06.19 04:57 Сейчас в теме
(12) это оставленный код из изначальной публикации rilmir.
"Основано на публикации rilmir https://infostart.ru/public/793479/ , которое было местами переписано заново, почищено, отлажено, и все равно там еще есть что переделать и оптимизировать"
Не помню почему оставлен, возможно потому что действительно не срабатывало Пустая() или ЗначениеЗаполнено(), возможно потому что этот мелкий блок кода работает - пусть работает
15. Tanis 23.12.19 13:40 Сейчас в теме
Добрый день!

Скачал обработку, пытаюсь протестить для запуска в боевой.
Но первая ошибка

?(ЗначениеЗаполнено(НС.Сотрудник), НС.Сотрудник.Код, "") --- НС.Сотрудник идет как строка и кода там естественно нет....

Или здесь прикреплена более старая версия обработки? (без изменений)

Спасибо!
16. bugtester 606 24.12.19 04:59 Сейчас в теме
(15)
?(ЗначениеЗаполнено(НС.Сотрудник), НС.Сотрудник.Код, "")


Добрый день!
Нет, прикреплена не старая обработка. Код в этом случае рабочий.

Попробовал открыть на последних релизах и нажать Прочитать например Приемы на работу - ошибки не было.


Колонка Сотрудник табличной части ТаблицаДокументовЗУП25 (НС - строка этой ТЧ) имеет составной тип: СправочникСсылка.Сотрудники, Строка.
Из запроса поле Сотрудник заполнятся либо ссылкой на сотрудника, либо пустой строкой "" - если по каким-то причинам сотрудник не взялся из 2.5 (почти невозможный случай, может если база битая, не знаю), либо строкой "Список сотрудников" - если документ будет переходить в ПриемНаРаботуСписком:

|	ВЫБОР 
		|		КОГДА ВТДанные.КоличествоСотрудников > 1 
		|			ТОГДА ""Список сотрудников""
		|		ИНАЧЕ ЕстьNULL(ВТДанные.Сотрудник, """")
		|	КОНЕЦ КАК Сотрудник,


Если Сотрудник = "Список сотрудников", то код выше ?(ЗначениеЗаполнено(НС.Сотрудник), НС.Сотрудник.Код, "") не будет выполняться по условию куска кода ниже, соответственно ошибку не вызовет.
Если маловероятный случай Сотрудник = "", то код выше ?(ЗначениеЗаполнено(НС.Сотрудник), НС.Сотрудник.Код, "") также не должен переходить к ветке НС.Сотрудник.Код.
Выясняйте, что у вас в Сотруднике находится.


Если ВыборкаДокументШапка.Сотрудник = "Список сотрудников" Тогда
		    НС.Сотрудник = ВыборкаДокументШапка.Сотрудник;
			НС.Сотрудник25 = ВыборкаДокументШапка.КраткийСоставДокумента;
		Иначе
			НС.Сотрудник = ВыборкаДокументШапка.Сотрудник.Description;
			ГУИД_Сотрудник = БазаТам.String(ВыборкаДокументШапка.Сотрудник.УникальныйИдентификатор());
			Если СокрЛП(ГУИД_Сотрудник) <> "00000000-0000-0000-0000-000000000000" Тогда // ПустаяСсылка
				НС.Сотрудник = Справочники.Сотрудники.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИД_Сотрудник));
				Если СтрНайти(СокрЛП(НС.Сотрудник),"Объект не")>0 Тогда
					НС.Сотрудник = Справочники.Сотрудники.НайтиПоКоду(СокрП(ВыборкаДокументШапка.Сотрудник.Code));
					//Если НЕ ЗначениеЗаполнено(НС.Сотрудник) Тогда
					//    НС.Сотрудник = Справочники.Сотрудники.НайтиПоНаименованию(СокрЛП(ВыборкаДокументШапка.Сотрудник.Description));
					//КонецЕсли; 
				КонецЕсли;
			Иначе
				НС.Сотрудник = Справочники.Сотрудники.ПустаяСсылка();
			КонецЕсли;
			
			НС.ТабНомер = ?(ЗначениеЗаполнено(НС.Сотрудник), НС.Сотрудник.Код, "");
			НС.Сотрудник25 = ВыборкаДокументШапка.Сотрудник.Description;
			НС.ТабНомер25 = ВыборкаДокументШапка.Сотрудник.Code;
		КонецЕсли;
Показать
17. Tanis 24.12.19 08:55 Сейчас в теме
(16) Доброе утро!

Кажется дошло в чём мой косяк. После скачивания открыл обработку (чтоб комментарий прописать) в конфигурации (старая), где не было справочника сотрудников...
И скорее всего при сохранение, данные реквизитов затёрлись... (метаданных, которых нет)...

Сорян...
18. semenoof 19.11.20 01:46 Сейчас в теме
Не подскажите будет ли работать ваша обработка для переноса кадровых документов из КА1.1 в КА 2.4? Не могли бы вы поделиться этой обработкой со мной для проверки: 5438995собакаgmail.com. Спасибо.
19. semenoof 20.11.20 21:31 Сейчас в теме
Друзья, напишите плиз, будет ли работать данная обработка на актуальных версиях КА 1.1 и КА 2.4?
20. semenoof 20.11.20 23:50 Сейчас в теме
Эх...не нашел ответа. Скачал. Завтра буду тестировать на своей базе.
21. semenoof 23.11.20 13:17 Сейчас в теме
Пытаюсь соединиться с базой КА1.1 из КА 2.4 - сразу получил ошибку:
Метод объекта не обнаружен (Connect)
23. Никс 10 23.12.20 18:50 Сейчас в теме
(21) это com connector не установлен
22. semenoof 23.11.20 19:31 Сейчас в теме
Поставил обе базы на локальный компьтер:
-2147221005 (0х800401F3). Недопустимая строка с указанием класса.
Можно как-нибудь исправить эти ошибки?
На моих базах - не работает обработка.
Оставьте свое сообщение