Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 18:15
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Проблема с внешней обработкой "Загрузка банк-клиент.erp"  (Прочитано 2151 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн raziel

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-24
  • Сайт: 
  • Профессия: Ученик 1С
Доброго времени суток, уважаемые знатоки!

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

Столкнулся с проблемой. У бухгалтеров появляется проблема с заполнением строки "Назначение платежа". После анализа данных выписки - заметил особенность, что загружаются строки которые имеют параметр "НазначениеПлатежа", но в выписке из банк клиента часто приходят платежки с параметрами "НазначениеПлатежа1" и "НазначениеПлатежа2".

Цитировать
Код=
НазначениеПлатежа1=Перечисление денежных средств по договору Ш-2 от 01.08.2014 согласно реестра № 1 от 02.07.2015 г. кол-во квитанций 1 шт.
НазначениеПлатежа2=НДС не облагается.

Код=
НазначениеПлатежа=Перечисление денежных средств по договору Ш-2 от 01.08.2014 согласно реестра № 1 от 01.07.2015 г.  кол-во квитанций 1 шт


При этом в выписке из 100-300 платежек может быть 20-40 квитанций с НазначениеПлатежа1/2. Вручную вводить поле назначение платежа - долго по времени и не хотят этим заниматься. Попросили меня как-то решить эту проблему.

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

Если в данном коде изменить строку
НовСтр.НазначениеПлатежа	= СокрЛП(Структура.НазначениеПлатежа);// Назначение платежного документа

на
НовСтр.НазначениеПлатежа	= СокрЛП(Структура.НазначениеПлатежа1);// Назначение платежного документа

Тогда загружаются все строки которые имеют НазначениеПлатежа1.

Пробовал делать конкатенацию строк
НовСтр.НазначениеПлатежа= СокрЛП(Структура.НазначениеПлатежа) + СокрЛП(Структура.НазначениеПлатежа1);
решения проблемы не дало
Пробовал решить с помощью функции
Функция НазПлат(Структура.НазначениеПлатежа, Структура.НазначениеПлатежа1, Структура.НазначениеПлатежа2)
    Возврат Структура.НазначениеПлатежа + " " + Структура.НазначениеПлатежа1 + " " + Структура.НазначениеПлатежа2;
КонецФункции
НовСтр.НазначениеПлатежа = НазПлат(Структура.НазначениеПлатежа, Структура.НазначениеПлатежа1, Структура.НазначениеПлатежа2);
Это так же не дает никакого результата. Пробовал так же сделать 2 штуки НовСтр. с НазначениеПлатежа и НазначениеПлатежа1

НовСтр.НазначениеПлатежа	= СокрЛП(Структура.НазначениеПлатежа);
НовСтр.НазначениеПлатежа1 = СокрЛП(Структура.НазначениеПлатежа1);
и в конце обработки, где есть строка
ДокОплата.Комментарий = стр.НазначениеПлатежа;
добавить сумму строк
ДокОплата.Комментарий = стр.НазначениеПлатежа + " " + стр.НазначениеПлатежа;
И все так же тщетно.

Подскажите, пожалуйста, что я делаю не так? Может мне кто-то посоветовать как правильно будет сделать, чтоб работал эта внешняя обработка и работала корректно?


Онлайн Kironten

  • *****
  • Сообщений: 902
  • РЕПУТАЦИЯ: 185
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Дай хотябы блок текстового документа из которого читается. (можешь изменить данные если хочешь)
А то создавать текстовик, чтобы проверить - заколебешься по условиям подгонять.

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
В отладчике смотрите отчего вам не дало решение конкатенации, если по отдельности все работает
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн raziel

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-24
  • Сайт: 
  • Профессия: Ученик 1С
В отладчике пусто, при чем абсолютно пусто...

Сорри, прикрепил файл. Поудалял кучу цифр из данных банка и ооо.

Онлайн Kironten

  • *****
  • Сообщений: 902
  • РЕПУТАЦИЯ: 185
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
В отладчике пусто, при чем абсолютно пусто...

Сорри, прикрепил файл. Поудалял кучу цифр из данных банка и ооо.

Попробуй так.
Во всяком случае на тестовом примере работает.
Возможно есть более изящное решение.

Оффлайн raziel

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-09-24
  • Сайт: 
  • Профессия: Ученик 1С
Огромное благодарствую! Все работает. Можно немного подробно описать добавленный код? И почему в НовСтр.НазначениеПлатежа = "";? И только потом идет условие?

Онлайн Kironten

  • *****
  • Сообщений: 902
  • РЕПУТАЦИЯ: 185
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Огромное благодарствую! Все работает. Можно немного подробно описать добавленный код? И почему в НовСтр.НазначениеПлатежа = "";? И только потом идет условие?

Не НовСтр.НазначениеПлатежа = "" а, НазначениеПлатежа = ""
т.е. просто нам нужна переменная с пустым значением типа строка к которой мы потом будем конкатенировать остальные строки.
С таким же успехом её можно было обозвать иначе, например "ОфигенныйТекст".
Тогда в цикле был бы код:
ОфигенныйТекст = ОфигенныйТекст + " " СокрЛП(Структура["НазначениеПлатежа" + ?(Сч = 0, "", Сч)]);

Дальше идет цикл от 0 до 10.
В нем мы ищем в структуре свойство НазначениеПлатежа плюс номер.
Т.к. у Вас может быть и свойство НазначениеПлатежа и НазначениеПлатежа2 в одной структуре, то подбираем свойство по номеру от 0 до 10.
Естественно Свойства НазначениеПлатежа0 быть не может, поэтому если счетчик = 0, то заменяем в обращении концовку ключа структуры НазначениеПлатежа на "", и на значение счетчика, если счетчик  <> 0.
Ну и если находим это свойство, то просто конкатенируем эту строку с переменной имя которой задали до цикла.
После выхода из цикла мы имеем в этой переменной уже готовые сконкатенированные строки, которые мы и помещаем в реквизит строки.
НовСтр.НазначениеПлатежа 	= ОфигенныйТекст;


Теги:
 

Проблема с развертыванием окон и сохранением окон

Автор SokresРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2429
Последний ответ 09 Дек 2015, 14:09
от pavl_vs
Программ конвертации с 77 в 8 при конвертации вырубается - проблема в файле backend.dll

Автор ktu78Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 637
Последний ответ 24 Ноя 2016, 06:18
от cska-fanat-kz
Проблема при проведении реализации УТ 11 - сообщение дата оплаты меньше даты документа

Автор AndreyBlacksmithРаздел Пользователям "1С - Предприятие 8"

Ответов: 3
Просмотров: 2689
Последний ответ 05 Фев 2015, 11:53
от AndreyBlacksmith
Формирование остатков на дату: проблема с параметром <Момент времени> как Дата

Автор SevishРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 10394
Последний ответ 15 Окт 2013, 11:49
от MuI_I_Ika
Проблема с выгрузкой изображений при обмене с сайтом в 1С: Управление небольшой фирмой

Автор balansuserРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3717
Последний ответ 12 Мар 2014, 16:17
от espero2000

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Обмен с клиент банком БП 3.0

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
172 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 580
  • Точка Скрытых: 0
  • Точка Пользователей: 7
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal