Ситуация: при подборе товаров в документе реализации не заполняется автоматически текущим продавцом соответствующий столбец в таблице с товаром.
Это не баг и не ошибка, по гуглу, «так и должно». Но руками выставлять нужного продавца — велика вероятность ошибки. А не заполнять — часть отчетов строится без «продавца». Например «Валовая прибыль».
Решение:
Добавляем подписку на событие для документа «Реализация», с событием «Перед записью». В принципе достаточно добавить что-то вроде:
Если документ проведен, то денежки идут на регистры «Расчеты с контрагентами» и «Продажи по платежным картам», вне зависимости от того, прошла оплата по карточке или нет. Т.е. например типичная ситуация:
Создали документ «Эквайринговая операция», провели его, попробовали оплатить с карты — не прошло. Клиенту «ну тогда платите наличкой». Документ закрыли, но 1С по регистрам будет считать, что деньги то поступили не в кассу! Хотя по факту вообще они могут никуда не поступить.
И в отчете «Продажи по платежным картам» мы тоже ничего не увидим!! Дурдом.
Единственный вариант — писать свой отчет по продажам, в котором проверять на true поле «Оплата прошла».
В продолжение вот этого. Если у 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=ложь;конецесли;
конеццикла;
тЧтение.Закрыть();
этаформа.Объект.жсон=фф;
КонецПроцедуры
Данная обработка предназначена для поиска сомнительных операций по платежным картам, которые требуют проверки.
Данная обработка предназначена для поиска сомнительных операций по платежным картам, которые требуют проверки. Например:
— сумма эквайринговой операции не сходится с суммой реализации (клиент заплатил больше или меньше? документ реализации был изменен менеджером?)
— документ реализации один, а эквайринговых операций более одной (клиент заплатил с разных карточек? документ реализации был изменен менеджером?)