Доброго времени суток, уважаемые коллеги! Выкладываю обработку, которая загружает оплаты по платежным картам из Excel через буфер обмена в базу данных 1С конфигурации Бухгалтерии для Казахстана, редакции 3.0 на управляемых формах. В прошлый раз была выложена неплохая обработка для загрузки данных из Битрикс в 1С с помощью внешних источников данных.

Внешний вид обработки для загрузки данных из Битрикс:

Форма обработки загрузки из Excel оплат по платежным картам

Описание работы загрузки по платежным картам

Обработка позволяет загрузить данные, скопировав их из файла Excel в буфер обмена.

  • Скачайте обработку по ссылке в конце статьи.
  • Затем откройте её в режиме 1С:Предприятие 8.
  • Перейдите к пункту меню «Файл» | «Открыть…» (Ctrl+O).
  • После открытия нужно открыть файл Excel, который приложен к загрузке обработки, затем выделить ячейки с данными которые вы хотите загрузить.
  • Перейти в 1С и вставить данные в ячейку < Место вставки >.
  • После этого нужно нажать на кнопку Загрузить, чтобы были созданы документы ОплатаОтПокупателяПлатежнойКартой на основании, полученных из буфера обмена данных.

Заполнение основных реквизитов (контрагент, договор, склад) созданных документа ОплатаОтПокупателяПлатежнойКартой, выбираются из настроек текущего пользователя. Счета учета прописаны в коде обработки. А дата документа заполняется на основании ячейки Trans Date

Часть программного кода обработки на встроенном языке 1С

Когда вы нажимаете кнопку Загрузить срабатывает процедура ЗагрузитьНаСервере и выполняется следующий код:

&НаСервере
Процедура ЗагрузитьНаСервере()	
	
	ТабличныйДокумент = Объект.Таблица;
	КоличествоСтрок = ТабличныйДокумент.ВысотаТаблицы;
	Ккол = ТабличныйДокумент.ШиринаТаблицы;
	Кстр = Мин(25,КоличествоСтрок);
	ЯчейкаДаты = "Trans Date";
	Для i = 1 По Кстр Цикл
		Для J =1 По Ккол Цикл
			ТипСтроки = СокрЛП(ТабличныйДокумент.Область("R"+Формат(I,"ЧГ=")+"C"+Формат(J,"ЧГ=")).Текст);
			Если ТипСтроки = ЯчейкаДаты Тогда
				СоСтроки = I;
				Перейти ~ЭтоОплата;
			КонецЕсли;	
		КонецЦикла;		
	КонецЦикла;
	Сообщить("Это не таблица оплаты по платёжным картам!");
	Возврат;
	~ЭтоОплата:
	ТаблицаОплат = Новый ТаблицаЗначений;
	ТаблицаОплат.Колонки.Добавить("ДатаОплаты", Новый ОписаниеТипов("Дата", Новый КвалификаторыДаты(ЧастиДаты.Дата)));
	ТаблицаОплат.Колонки.Добавить("Комиссия", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
	ТаблицаОплат.Колонки.Добавить("Процент", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(3,1)));
	ТаблицаОплат.Колонки.Добавить("УИД", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(25)));
	ТаблицаОплат.Колонки.Добавить("Комментарий");    
	
	// Табличная часть документа
	ТаблицаОплат.Колонки.Добавить("ДоговорКонтрагента");
	ТаблицаОплат.Колонки.Добавить("КурсВзаиморасчетов");
	ТаблицаОплат.Колонки.Добавить("КратностьВзаиморасчетов");   
	ТаблицаОплат.Колонки.Добавить("СуммаВзаиморасчетов");
	ТаблицаОплат.Колонки.Добавить("СуммаПлатежа");  
	ТаблицаОплат.Колонки.Добавить("СчетУчетаРасчетовПоАвансам");
	ТаблицаОплат.Колонки.Добавить("СчетУчетаРасчетовСКонтрагентомБУ");
		
	...
	
	Для каждого Оплата Из ТаблицаОплат Цикл 
		ДатаОплаты = Оплата.ДатаОплаты;
		ОплатаОтПокупателя = НайтиОплатуОтПокупателя(Оплата.Комментарий, ДатаОплаты);
		
		...
		                                                                 
		ОплатаОтПокупателя.Записать(РежимЗаписиДокумента.Запись);
		Сообщить("Загружена оплата от покупателя платежной картой " + ОплатаОтПокупателя);
			
	КонецЦикла;
	
КонецПроцедуры 

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

Демонстрация работы обработки 1С для загрузки из Excel через буфер обмена


Этот блог читают уже более 3000 человек - читай и ТЫ!
0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *