Разные хм... неожиданности при работе с УТ 11 и платформой

Программирование - Практика программирования

26
По мере обнаружения буду писать сюда тонкости работы с УТ 11 и платформой, больше для себя, но, может, кому-то еще пригодится... Для нескольких вопросов предложены варианты обхода.

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

Создание "пустых" партнеров в чеках ККМ

Столкнулись с той же проблемой, что и коллеги в https://forum.infostart.ru/forum81/topic175604/

В общем, не стоит ставить эту галочку, от нее один вред

Для исправления данных пришлось написать мини-обработку:

 
 Процедура УбратьПустыхКлиентовИзЧековНаСервере()

Обработка дополнительно приложена к публикации.

Печать отложенных чеков

С появлением онлайн-ККТ эта проблема уже не так актуальна, но все же может возникнуть. Суть в том, что в РМК УТ 11 есть возможность откладывать Чек ККМ, открыть отложенный Чек ККМ, распечатывать товарный чек, а потом удалять отложенный чек. Кассиры могут случайно или умышленно воспользоваться этой возможностью.

Превышение суммы оплаты картой над суммой чека ККМ

При внесении оплаты по безналу по чеку ККМ можно несколько раз ввести эту оплату на сумму большую, чем сумма чека. Воспроизвести можно например так:

Эта ошибка вызовет проблему в том случае, если при пробитии чека ККМ возникнет отказ или ошибка - чек будет в состоянии "отложен". Если его повторно открыть, то система без проблем даст внести еще раз оплату картой (что обычно и проделывают кассиры), и добавит эту оплату к уже проведенной.

Там есть операция отмены оплаты платежной картой, но чек спокойно проводится при превышении суммы оплаты над суммой чека.

Исправляется довольно просто. В справочнике "ПодключаемоеОборудование" в форме "ФормаАвторизацииЭТ" в процедуре "ПриСозданииНаСервере"

 
 ПриСозданииНаСервере

Пробитие чека ККМ через РМК при открытой форме списка чеков

Если будет открыта форма списка чеков ККМ и одновременно РМК, то при пробитии чека программа будет надолго задумываться (если чеков много). Особенно весело, что она это делает два раза - перед вводом оплаты и непосредственно при пробитии. Проблемная строка вот эта, в форме списка чеков ККМ:

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

Видимо, при записи чека вызывается оповещение, которое вызывает и эту процедуру. Но почему такая простая конструкция вызывает тормоза именно при записи чека, а при простом открытии формы списка чеков не вызывает - мне сходу не понятно.

Реализация в пути

Невозможно в списке реализаций установить отбор по реализациям "в пути" - это значение статуса не выбирается в отборе, доступно только значение "Реализовано"

Приходится для отбора использовать признак сравнения "не равно".

Перепроведение по видам запасов

Для повторного заполнения ТЧ "Виды запасов" у проведенного документа необходимо в доп. свойства объекта при проведении добавлять

Объект.ДополнительныеСвойства.Вставить("ПерезаполнитьВидыЗапасов", Истина);

Для этого можно воспользоваться обработкой "Групповое изменение реквизитов", закладка "Выполнить произвольный алгоритм"

Внешний модуль менеджера обмена

В настройках обмена в универсальном формате можно указать внешнюю обработку, содержащую доработанный модуль менеджера обмена. Проблема возникнет, если эту обработку переименовать или переместить. Или просто перестанет быть доступен сетевой путь, где она лежит. Пункт меню "Синхронизация данных" теперь не возможно открыть, и нельзя поменять путь к внешней обработке с модулем.

Но это полбеды, а проблема в том, что перестают работать подписки на события, которые отрабатывают события, связанные с этим планом обмена. А значит становится невозможно записать любой объект, включенный в состав этого плана обмена.

Добавление формы с динамическим списком в расширение

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

Источник.ДанныеСтроки(ВыделеннаяСтрока);

в данные попадают не все поля. У меня в динамическом списке чеков ККМ не попало поле Ссылка, и соответственно конфигурация начинает "глючить". А вот если не пользоваться конструктором запроса, а редактировать запрос чисто вручную - отрабатывает нормально, и ничего не слетает.

Видимость общих модулей в расширении

Для меня весьма таинственный и неприятный глюк. Берем функцию из модуля менеджера какого-либо объекта, добавляем в расширение (вызов "Вместо"). Теперь если в этой функции в расширении сделать вызов общего серверного модуля, выходит ошибка синтаксического контроля - якобы компилятор не видит этот модуль. Хотя этот же вызов используется в той же функции в "типовом" модуле менеджера. Пример

 
 ТекстЗапросаПодарочныеСертификаты

Закомментированный участок вызывает ошибку. Благо, в данном случае он не влияет на логику алгоритма. Что интересно, этот глюк может "мешать" в самых неожиданных местах. Например, ошибка "модуль не найден" вылетает при просмотре журнала регистрации с "измененным" объектом.

Эту особенность удалось обойти с помощью конструкции "Выполнить", если "проблемный" участок кода поместить в "Выполнить".

Изменение состава плана обмена в расширении

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

Указанные ситуации воспроизведены на УТ 11.4.3.144, платформа 8.3.11.3034

Буду рад вашим дополнениям в комментариях о новых неожиданностях и путях обхода.

26

Скачать файлы

Наименование Файл Версия Размер
Убрать пустых клиентов из чеков
.epf 6,73Kb
09.08.18
0
.epf 6,73Kb Скачать

См. также

Комментарии
Сортировка: Древо
1. RogoW 09.08.18 14:12 Сейчас в теме
Добрый день, вот ещё в копилку.

Уже несколько раз натыкался. Например, при первоначальной настройке базы неопытный пользователь делает такое:
- в "НСИ и администрирование / Склад и доставка" ставим флажок "Ордерные склады"
- открываем склад, на его форме появляется вкладка "Ордерная схема и структура"
- ставим на этой вкладке, например, флажок "Использовать ордерную схему... при отражении излишков, недостач..."

Потом отказываемся от ордерной схемы, сбрасываем флажок "Ордерные склады". По-хорошему это означает, что ордерные склады у нас не используются. Но на самом она будет использоваться для того склада, для которого мы поставили флажок "Использовать ордерную схему...". Правда заменить это сложно, так как теперь на форме этого склада не показывается вкладка "Ордерная схема и структура".

Столкнулся с этим, когда разбирался, почему документ "Пересортица" не делает движений по регистру "Товары на складах" (для склада скрытым способом использовалась ордерная схема).
adhocprog; Rustig; Sergafan10; Kutuzov; +4 Ответить
2. katenok86 242 09.08.18 14:35 Сейчас в теме
Можно добавить план обмена в расширение. Можно нажать "Состав" и натыкать галочек на тех объектах, которые хочется добавить в состав плана обмена. Но толку от этого не будет, регистрацию изменений этих объектов в плане обмена провести не удастся.

Указанные ситуации воспроизведены на УТ 11.4.3.144, платформа 8.3.11.3034

Буду рад вашим дополнениям в комментариях о новых неожиданностях и путях обхода.

По тому что регистрируются к обмену объекты подписками на событие, их тип нужно тоже расширять. И редактировать правила регистрации.
3. Kutuzov 390 09.08.18 14:46 Сейчас в теме
(2) вроде как нельзя менять состав объектов для подписки


Если вам как-то удалось поменять состав плана обмена через расширение, напишите, плиз, буду благодарен)
Прикрепленные файлы:
4. katenok86 242 09.08.18 14:55 Сейчас в теме
(3)Я просто объяснила причину. Не помню если честно можно ли с учетом последних возможностей создать в расширении новую подписку?
5. katenok86 242 09.08.18 14:58 Сейчас в теме
Посмотрела действительно нельзя ни расширить состав объектов подписки ни добавить новую подписку через расширение.
6. Rustig 976 09.08.18 19:04 Сейчас в теме
(0) да, интересно, не очевидных механизмов много.
а что в целом скажете: можно уже переходить на ут11, или нормально еще будет продолжать ставить и внедрять ут 10.3?
7. Kutuzov 390 09.08.18 21:12 Сейчас в теме
(6) УТ 11 хорошая, мне нравится с ней работать. После появления механизма расширений - ввобще красота. Если смотреть со стороны программиста, то я в последнее время только с 11-й работаю, с 10-кой не связываюсь, и даже плохо помню, как там и что.
Если смотреть со стороны клиента, у которого уже стоит 10.3, то переход на УТ 11 целесообразен, если:
1) Это нужно бизнесу. Прям вот нужно, от этого планируется рост прибыли на 50%, и понятно, откуда он возьмется после перехода.
2) Нет рядом адекватных программистов/компаний, обслуживающих 10.3

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

С нуля новым клиентам 10.3 я бы не ставил, УТ 11 по-приятнее в работе, и для нее больше разработок и интеграций.
user740371; Rustig; +2 Ответить
8. Rustig 976 10.08.18 08:08 Сейчас в теме
(7) приходилось ли выбирать для клиента между УТ 11, УНФ или Розницей ? функционал пересекается, а реализация и набор ошибок - отличаются... что лучше - ут или унф - к примеру для оптово-розничной фирмы?
9. genayo 10.08.18 08:19 Сейчас в теме
(8) В УТ11 хорошие механизмы ценообразования и скидок, и есть блок адресного хранения, который неплохо подойдет для небольших складов.
10. Rustig 976 10.08.18 08:23 Сейчас в теме
11. genayo 10.08.18 08:26 Сейчас в теме
(10) Такого точно нет :) УНФ всё-же не совсем под оптово-розничную торговлю заточена, больше под фирмы типа изготовления пластиковых окон, дверей и т.п.
12. Kutuzov 390 10.08.18 10:06 Сейчас в теме
(8) Это вопрос на целую статью) У меня не хватит компетенции такую статью написать, т.к. в основном с УТ 11 работаем. Наверное, лучше для себя выбрать, какое решение больше нравится, его и предлагать. В вашем случае надо посмотреть все три конфигурации. Потом выбрать, какая конфигурация больше подойдет вашим существующим клиентам, и уже ее внедрять и плотно изучать.
18. NataLisa 14.08.18 15:43 Сейчас в теме
(8) Позвольте выскажусь вместо автора статьи.
Розница хороша для розницы, где если и есть опт, то минимальный. Главное чего нет в Рознице - это нормальные взаиморасчеты. Например, есть магазин, который торгует стройматериалами. Вроде Розница здесь оптимальна - не сложно, не громоздко. Но потом владелец задает вопрос - а я отпускаю строительным бригадам. Нужно выписать на ИП. Не вопрос - документ реализация есть - выпишем. А я им в долг даю, в рассрочку.... А вот это мы уже не учтем, никак. Нет такого функционала в рознице. Опять придется писать в тетрадочку. (Хотя есть такие кого тетрадочка очень устроит). Но если только выписать документы ТОРГ-12 и даже С/ф, то вполне подойдет. Ибо УТ все же на порядок сложнее в освоении для мелкого бизнеса.
УНФ попроще в терминологии, и подойдет если есть небольшое производство. Или оказание услуг. Для торговли мне лично не очень... но, возможно, это мое субьективное мнение, т.к. больше знаю УТ и Розницу.
Ну а в остальных случаях УТ. Она конечно не проста в освоении... и были некоторые клиенты которым ставили УТ10, потому что после пары встреч с руководством или владельцем бизнеса понятно - не потянут. Такой у нас в провинции бизнес...

А за статью спасибо. Правда стоит собрать свою базу знаний, ибо от 1С не всегда дождешься...А такое описание багов очень всем пригодится.
13. wazup666 10.08.18 10:33 Сейчас в теме
По поводу синхронизации данных. Возможно, путь к внешнему модулю сохраняется в стандартном хранилище настроек т. к. у реквизита формы стоит галочка "Сохраняемые данные". Можно попробовать удалить эту настройку программно.
14. wazup666 10.08.18 11:59 Сейчас в теме
(13) Хотя не так. Перепутал с обработкой ВыгрузкаЗагрузкаEnterpriseData. В вашем случае надо очистить реквизит ПутьКМенеджеруОбмена у плана обмена по Enterprise Data. Но это не точно.
15. Yashazz 2265 12.08.18 13:50 Сейчас в теме
Это что. вместо багтрекера 1С пополам с личным дневничком? Да если я сяду описывать хотя бы прелести УНФ в, допустим, ценообразовании или интеграции с сайтом, это уже статьи на три будет)
16. Kutuzov 390 12.08.18 14:00 Сейчас в теме
(15)Пишите, чем больше информации в сети в открытом доступе, тем лучше :). А то иногда столкнешься с какой-то нелепостью, а ничего не гуглится по проблеме. Приходится копаться по полдня в ерунде, чувствуя себя изобретателем велосипеда.
17. necropunk 5 13.08.18 10:15 Сейчас в теме
(15) Ну, кстати, поддерживаю. В 1С писать такие репорты - как свистеть известно куда, а так хоть поиском иногда натыкаешься, да и вообще - предупрежден значит вооружен.
19. ildary 14.08.18 15:54 Сейчас в теме
(17) в целом конечно правильно, но было бы прекрасно, если бы такие наборы ошибок велись не в стиле "статья на инфостарте", а какой-нибудь удобный набор табличек с фильтрацией, с колонками:

"Конфигурация" "Подсистема" "Описание"
Оставьте свое сообщение