fixin (fixin) wrote,
fixin
fixin

Корректировка регистра на 80 документов

Мне прислали список из 80 документов, суммы которых нужно было внести в УПП в документ корректировки записей регистров для того, чтобы закрыть регистр «Расчеты по реализации».
Вручную подбирать документы было лень и я автоматизировал процесс.

Сперва занес таблицу в Эксель и там получил для каждой строчки код:



Обработать("Платежное поручение входящее 10000004558 от 01.09.2016 0:00:00","341,25");
Обработать("Платежное поручение входящее 10000004598 от 02.09.2016 0:00:00","682,5");
Обработать("Платежное поручение входящее 10000004639 от 05.09.2016 0:00:00","341,25");
Обработать("Платежное поручение входящее 10000004656 от 06.09.2016 0:00:00","682,5");
Обработать("Платежное поручение входящее 10000004690 от 07.09.2016 0:00:00","1587,3");
Обработать("Платежное поручение входящее 10000004709 от 08.09.2016 0:00:00","2722,2");
Обработать("Платежное поручение входящее 10000004735 от 09.09.2016 0:00:00","795,6");
Обработать("Платежное поручение входящее 10000004754 от 12.09.2016 0:00:00","6493,8");
Обработать("Платежное поручение входящее 10000004777 от 13.09.2016 0:00:00","2517,6");


Для генерации кода использовал функцию Excel: =СЦЕПИТЬ("Обработать(""";A1;""",""";B1;""");")

Далее набросал простой код:


Перем мНЗ;

Процедура
КнопкаВыполнитьНажатие(Кнопка)
 
мНЗ = РегистрыНакопления.РасчетыПоРеализацииВУсловныхЕдиницахОрганизации.СоздатьНаборЗаписей();
 
МНЗ.Отбор.Регистратор.Значение = ВыбКорректировка;
 
Обработать("Платежное поручение входящее 10000004558 от 01.09.2016 0:00:00","341,25");
 
Обработать("Платежное поручение входящее 10000004598 от 02.09.2016 0:00:00","682,5");
 
Обработать("Платежное поручение входящее 10000004639 от 05.09.2016 0:00:00","341,25");


 Обработать("Платежное поручение входящее 10000007130 от 30.12.2016 0:00:00","798,9");
 
мНЗ.Записать();
КонецПроцедуры


Функция
Обработать(ППВ, Сумма)
 Если
ППВ = "" Тогда
  Возврат ложь;
 КонецЕсли;

 
ППВ_Номер = Сред(ППВ, 30, 11);
 
ППВ_Дата = Дата(Сред(ППВ, 51, 4) + Сред(ППВ, 48, 2) + Сред(ППВ, 45, 2));

 
ППВ_Ссылка = Документы.ПлатежноеПоручениеВходящее.НайтиПоНомеру(ППВ_Номер, ППВ_Дата);
 Если НЕ
ЗначениеЗаполнено(ППВ_Ссылка) Тогда
 
Сообщить("Не найден документ: " + ППВ);
  Возврат ложь;
 КонецЕсли;

 
ТекСумма = -Число(Сумма);

 
МЗ = мНЗ.Добавить();
 
МЗ.Период = ВыбКорректировка.Дата;
 
МЗ.Документ = ППВ_Ссылка;
 
МЗ.СуммаРег = ТекСумма;
 
МЗ.СуммаВзаиморасчетов = ТекСумма;
 
МЗ.Организация = ППВ_Ссылка.Организация;
 
МЗ.ДоговорКонтрагента = ППВ_Ссылка.ДоговорКонтрагента;
 
МЗ.Контрагент = ППВ_Ссылка.Контрагент;
 
МЗ.СчетОплаты = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02");
 
МЗ.ДатаОплаты = ТекущаяДата();
КонецФункции

Создал документ корректировки, выбрал его в форму и вуаля – всё сработало.

Экономия времени налицо, вместо рутины занимался креативом. Обработка одноразовая, но время сэкономила.

Tags: , Опыт
Subscribe

Posts from This Journal “1С” Tag

  • Коварный ввод на основании в УФ

    На основании документа Х можно вводить два документа А и Б. Но конкретный вид документа зависит от содержимого документа Х (вида операции). Решили…

  • Правило назначения ролей – не запрещать!

    Есть одно правило назначения ролей пользователей, которое выработано эмпирически и скорее обосновано чутьём. Нельзя делать запреты пользователям с…

  • Гуру-тест 1С: обмануть при записи

    Итак, задачка. Нужно, чтобы при записи новая версия объекта не поместилась в базу данных, но при этом не была сгенерирована ошибка или отказ. Случай…

  • Долгострои 1С

    Если вы хотите узнать, почему программисты 1С любят платформу 1С и местами ненавидят разработчиков этой платформы, то сейчас я Вам расскажу. Уже 10…

  • Ловкость рук и обработка результата запроса

    Как то я пообещал заказчику, что обработаю определенный список документов, но забыл, что эти документы были в базе с управляемыми формами. Как быть?…

  • 1С и искусственные серверные барьеры

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

  • Особенности белорусского Налогоплательщика

    Взял подработку у одного знакомого чувака из Беларуси. Платил мало (я то беру 1500 в час, а там по 800), но знакомый хороший, грех было отказывать,…

  • 1С отрицает очевидное

    Работаю с флагманом 1С, конфигурацией ERP. Вижу, что 1С прошило всю конфигурацию обращениями к модулям, где разработчик, внедряющий 1С может…

  • Как обмануть макет 1с?

    В 1С можно менять макеты в режиме 1с Предприятия. Но 1с-овцы не подумали, что пользователи не захотят видеть некоторые поля. Если просто удалить…

promo fixin декабрь 28, 2020 16:57 1398
Buy for 30 tokens
Добро пожаловать в журнал Осипова Сергея Александровича, известного также как Fixin и Гений 1С. Рекомендую ознакомиться с Часто Задаваемыми Вопросами обо мне. Что я хочу в подарок - список. Мой проект " Секс за Ваши". Если вы хотите написать пост обо мне или почитать, что пишут…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 32 comments