Эксель в умелых руках 1сника

топ 100 блогов fixin17.08.2016

Была у меня такая задача - клиент предоставил список платежек, которые нужно было зарегистрировать в УТ, чтобы они мигрировали в БП. Они не попали туда из-за сбоев обмена.

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

Эксель в умелых руках 1сника

Поэтому я прямо в Экселе сгенерировал код для 1С формулой вида:

=СЦЕПИТЬ("ЗАРЕГИСТРИРОВАТЬППИ("""; G2;""",'";ТЕКСТ(F2;"ГГГГММДД");"');")

На рисунке полученный код в последней колонке. Осталось только вставить код в обработку и запустить!

Такой метод часто применяется для решения разовых задач. Код 1С под катом.

Еще нюанс в том, что нужно было обрабатывать только выделенные желтым строки. Но их можно было отфильтровать автофильтром.

Проблема возникла в другом - в БП эти данные упорно не грузились. На саму обработку регистрации потратил полчаса и еще час, чтобы понять, почему. Все оказалось просто - в БП3 есть дата запрета загрузки. Увидел сообщения в журнале регистрации вида "Дате 25.09.2015 соответствует запрет загрузки данных для информационной базы "Управление торговлей, ред" по 30.06.2016 (установлена общая дата запрета)".

А так пока не залез в ЖР, дошел даже до того, что загрузил правила обмена в КД, думал, там какая-то заточка зашита. Бывает, иногда подтупливаю.

В форме по кнопке просто вызываю процедуру для каждой платежки и если она найдена, регистрирую ее на узле обмена.

Процедура КнопкаВыполнитьНажатие(Кнопка)
ЗАРЕГИСТРИРОВАТЬППИ("М0000005695",'20150908');
ЗАРЕГИСТРИРОВАТЬППИ("М0000005696",'20150909');
ЗАРЕГИСТРИРОВАТЬППИ("М0000005697",'20150910');
....
....
ЗАРЕГИСТРИРОВАТЬППИ("",'20151120');
ЗАРЕГИСТРИРОВАТЬППИ("",'20151218');
ЗАРЕГИСТРИРОВАТЬППИ("",'20160122');
ЗАРЕГИСТРИРОВАТЬППИ("",'20160219');
ЗАРЕГИСТРИРОВАТЬППИ("",'20160321');
КонецПроцедуры

Функция ЗАРЕГИСТРИРОВАТЬППИ(Номер,Дата)
 Если ЗначениеЗаполнено(Номер) Тогда
  З = Новый Запрос(
  "ВЫБРАТЬ
  | Т.Ссылка,
  | Т.Дата,
  | Т.Контрагент
  |ИЗ
  | Документ.ПлатежноеПоручениеВходящее КАК Т
  |ГДЕ
  | НАЧАЛОПЕРИОДА(Т.Дата, ДЕНЬ) = &Дата
  | И Т.Номер = &Номер");
 Иначе
  З = Новый Запрос(
  "ВЫБРАТЬ
  | Т.Ссылка,
  | Т.Дата,
  | Т.Контрагент
  |ИЗ
  | Документ.ПлатежныйОрдерСписаниеДенежныхСредств КАК Т
  |ГДЕ
  | НАЧАЛОПЕРИОДА(Т.Дата, ДЕНЬ) = &Дата
  | И Т.Контрагент.Наименование = ""Рога и Ко""");
 КонецЕсли;
 З.УстановитьПараметр("Номер", Номер);
 З.УстановитьПараметр("Дата", Дата);
 Выборка = З.Выполнить().Выбрать();
 Если Выборка.Следующий() Тогда
  ИскДокумент = Выборка.Ссылка;
  Сообщить(ИскДокумент);
  ИскУзел = ПланыОбмена.ОбменУправлениеТорговлей103БухгалтерияПредприятия30.НайтиПоКоду("002");
  ПланыОбмена.ЗарегистрироватьИзменения(ИскУзел, ИскДокумент);
 Иначе
  Сообщить("Не найден документ: " + Номер + " " + Дата);
 КонецЕсли;
КонецФункции

Оставить комментарий

Архив записей в блогах:
Реакция на трагедию на Украине оказалась традиционной. Россиянские либерасты соревнуются друг с другом в том, кто быстрее обвинит во всем РФ (гитлеропутин специально сбил самолет, чтобы вторгнуться на Украину - прямо так и пишут) и повстанцев на Донбассе (гнусная алкашня, наркоманы и ва ...
... Не так давно начал серьезно работать с SSD-приводами в проде. Предыдущие работодатели как-то жмотили денег на высокоскоростные накопители. В связи с чем у меня возник ряд вопросов. ... Понятно, что полноценный аппаратный RAID-контроллер в случае "Linux + SSD" на фиг не нужен. Так ...
По поводу удара ВСУ по Белгороду. Уже есть видео прилета. Смотрим. А это видео из ТЦ. У ТЦ сразу после прилета. По предварительным данным, в Белгороде 5 человек погибли, в том числе один ребенок, ещё 18 человек получили ранения, 5 из которых дети. Женщина и ...
Почти полвека назад на экраны вышел советский телевизионный фильм Эльдара Рязанова «Ирония судьбы, или с легким паром!». Во времена СССР его несколько раз показали по ТВ перед Новым годом, а с 90-х годов эта картина стала одним из символов праздника. Актеры по-разному относятся ...
Возвращаясь из Витебска посетил вторую и последнюю уцелевшую водокачку гиперболоидного типа построенную по проекту инженера Гарина Шухова. Сооружение в явно лучшем сохране нежели борисовская. Фермы аккуратно покрашены серебрянкой. Осмотром ...