Архив метки: 1с

Странное поведение документа ОплатаОтПокупателейПлатежнойКартой в 1С Розница 2.2

Если документ проведен, то денежки идут на регистры «Расчеты с контрагентами» и «Продажи по платежным картам», вне зависимости от того, прошла оплата по карточке или нет. Т.е. например типичная ситуация:

Создали документ «Эквайринговая операция», провели его, попробовали оплатить с карты — не прошло. Клиенту «ну тогда платите наличкой». Документ закрыли, но 1С по регистрам будет считать, что деньги то поступили не в кассу! Хотя по факту вообще они могут никуда не поступить.

И в отчете «Продажи по платежным картам» мы тоже ничего не увидим!! Дурдом.

Единственный вариант — писать свой отчет по продажам, в котором проверять на true поле «Оплата прошла».

 

Управление реле Arduino из 1с

В продолжение вот этого. Если у arduino есть ethernet шиелд, то ей вполне можно управлять даже из 1С. Например Реле питания.

&НаКлиенте
Функция ФункцияВосстановления(Свойство, Значение, ДополнительныеПараметры) Экспорт
   Если Свойство = "ДатаJSON"Тогда
      Возврат ПрочитатьДатуJSON(Значение, ФорматДатыJSON.ISO);
   КонецЕсли;
   Если Свойство = "СтрокаJSON" Тогда
      Возврат СокрЛП(Значение);
   КонецЕсли;
   Если Свойство = "uidJSON" Тогда
      Возврат Новый УникальныйИдентификатор(Значение);
   КонецЕсли;
КонецФункции

&НаКлиенте
Процедура СчитатьСтатус(Команда)
		файл=новый чтениетекста("http://"+этаформа.Объект.ИП+"/");
		фф=файл.Прочитать();
		файл.Закрыть();
		фф=стрзаменить(фф,"<!DOCTYPE HTML>","");
		тЧтение=Новый ЧтениеJson;
		тЧтение.УстановитьСтроку(фф);
		тДанные = ПрочитатьJSON(тЧтение, Ложь, , , "ФункцияВосстановления", ЭтотОбъект);
		пинсстат=тДанные.pinsstatus;			
		к=0;
		для каждого стат из пинсстат цикл			
			к=к+1;
			если к=1 и стат=1 тогда этаформа.Объект.Реле1=Истина иначе этаформа.Объект.Реле1=ложь;конецесли;
			если к=2 и стат=1 тогда этаформа.Объект.Реле2=Истина иначе этаформа.Объект.Реле3=ложь;конецесли;
			если к=3 и стат=1 тогда этаформа.Объект.Реле3=Истина иначе этаформа.Объект.Реле4=ложь;конецесли;
			если к=4 и стат=1 тогда этаформа.Объект.Реле4=Истина иначе этаформа.Объект.Реле4=ложь;конецесли;
		конеццикла;		
   		тЧтение.Закрыть(); 		
		этаформа.Объект.жсон=фф;

КонецПроцедуры

&НаКлиенте
Процедура СчитатьСтатус(Команда)
		файл=новый чтениетекста("http://"+этаформа.Объект.ИП+"/");
		фф=файл.Прочитать();
		файл.Закрыть();
		фф=стрзаменить(фф,"<!DOCTYPE HTML>","");
		тЧтение=Новый ЧтениеJson;
		тЧтение.УстановитьСтроку(фф);
		тДанные = ПрочитатьJSON(тЧтение, Ложь, , , "ФункцияВосстановления", ЭтотОбъект);
		пинсстат=тДанные.pinsstatus;			
		к=0;
		для каждого стат из пинсстат цикл			
			к=к+1;
			если к=1 и стат=1 тогда этаформа.Объект.Реле1=Истина иначе этаформа.Объект.Реле1=ложь;конецесли;
			если к=2 и стат=1 тогда этаформа.Объект.Реле2=Истина иначе этаформа.Объект.Реле3=ложь;конецесли;
			если к=3 и стат=1 тогда этаформа.Объект.Реле3=Истина иначе этаформа.Объект.Реле4=ложь;конецесли;
			если к=4 и стат=1 тогда этаформа.Объект.Реле4=Истина иначе этаформа.Объект.Реле4=ложь;конецесли;
		конеццикла;		
   		тЧтение.Закрыть(); 		
		этаформа.Объект.жсон=фф;

КонецПроцедуры

Проверка сходимости эквайринговых операций для Розница 2.2

Данная обработка предназначена для поиска сомнительных операций по платежным картам, которые требуют проверки.

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

— сумма эквайринговой операции не сходится с суммой реализации (клиент заплатил больше или меньше? документ реализации был изменен менеджером?)
— документ реализации один, а эквайринговых операций более одной (клиент заплатил с разных карточек? документ реализации был изменен менеджером?)

Публикация: https://infostart.ru/public/669370/

Программное сохранение отчета СКД в файл Excel

Задача: по расписанию формировать файл отчета СКД и отправлять его по электронной почте.

Решение:

1. Формируем файл

таб1=новый ТабличныйДокумент();
	
	СКД=Отчеты.ПрибыльЗаПериод.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	Настройки=СКД.НастройкиПоУмолчанию;
	Дата1=Настройки.ПараметрыДанных.Элементы.Найти("Дата1");
	Дата1.Значение=НачалоМесяца(ТекущаяДата());
	Дата2=Настройки.ПараметрыДанных.Элементы.Найти("Дата2");
	Дата2.Значение=КонецДня(ТекущаяДата());
	ВидЦены=Настройки.ПараметрыДанных.Элементы.Найти("ВидЦены");
	ВидЦены.Значение=Справочники.ВидыЦен.НайтиПоНаименованию("Основная цена закупки");
	Магазин=Настройки.ПараметрыДанных.Элементы.Найти("Магазин");
	Магазин.Значение=Справочники.Магазины.НайтиПоНаименованию("Вологда Торговля");

	 	Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных;
		КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;    
		
        //Передаем в макет компоновки схему, настройки и данные расшифровки
        МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки, Расшифровка);    
        ВнешниеПараметры = Новый Структура;    
		
        //Выполним компоновку с помощью процессора компоновки
        ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
        ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры, Расшифровка);    
		
        //Выводим результат в табличный документ
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        ПроцессорВывода.УстановитьДокумент(таб1);    
        ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);    	 
		
		таб1.Записать("c:\temp\моржа.xls",ТипФайлаТабличногоДокумента.XLS);

2.Отправляем его по почте

	ПараметрыПочты = новый ИнтернетПочтовыйПрофиль;
		ПараметрыПочты.АдресСервераSMTP = пснмп;
		ПараметрыПочты.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
		ПараметрыПочты.ПользовательSMTP = плогин;
		ПараметрыПочты.ПарольSMTP=ппароль;
		
		Письмо=новый ИнтернетПочтовоеСообщение;
		Письмо.Тема="Комплексный отчет по продажам в магазине Вологда Торговля";
		Письмо.ИмяОтправителя="1С отправка отчетов";
		Письмо.Отправитель=побратный;
		Письмо.Получатели.Добавить(пполучатель);	
		Письмо.Получатели.Добавить("blabla@mail.ru");	

		Письмо.Тексты.Добавить("Комплексный отчет по продажам в магазине Вологда Торговля");		
		Письмо.Вложения.Добавить("c:\temp\моржа.xls");
		
		Подключение=новый ИнтернетПочта;
		Попытка
		Подключение.Подключиться(ПараметрыПочты);
		Подключение.Послать(Письмо);        

Ошибка вывода шаблона этикетки поле обновления 1С Розница с 2.2.5 до 2.2.6

После обновления конфигурации, все шаблоны начали выводить ошибку вида «Не верные параметры «Справочник.СправкиБЕГАИС.ПустаяСсылка»:

Решение достаточно простое и тупое, ну если вы конечно при создании шаблонов правили только макеты и не правили сам запрос в СКД под свои нужды. А именно, создаем новый пустой шаблон, заходим в «Редактировать СКД», копируем запрос и вставляем его в «поломаный» и сохраняем.