По поводу цены. Проанализировал алгоритм вычисления цены при формировании списка товаров в обработке "ЗагрузкаККМ", того списка, который передается в обработку ARM_KKM_AMC.ert. Вот этот алгоритм:
---
Если ОстРозн.Количество<>0 Тогда
СписокТоваров.Цена = ОстРозн.Цена;
ИначеЕсли глВернутьЦену(Товар,Константа.РозничныйТипЦен,,ЦенаИзСправочника) = 1 Тогда
СписокТоваров.Цена = ЦенаИзСправочника;
Иначе
СписокТоваров.Цена = 0;
КонецЕсли;
---
Кусок взят из тела цикла по результатам запроса остатков товаров из регистра "Остатки ТМЦ". Если остаток товара больше 0, то берется цена из регистра остатков ОстРозн.Цена, если остаток в регистре = 0, то цена берется из справочника цен при помощи процедуры глВернутьЦену. Иначе цена = 0. Вот от этого и надо плясать при выяснении причин происходящего.
По поводу выгрузки. Обработку ARM_KKM_AMC.ert можно переделать таким образом, чтобы в БД проводилось обновление только тех товаров, которые изменялись. Это увеличит скорость выгрузки на порядок. Все зависит от кол-ва обновляемых товаров. Еще одно решение - это встроить в приходный документ ТиС кусок кода, который будет производить изменения в БД АРМ кассира только для тех товаров, которые содержаться в табличной части документа. Это решение увеличит скорость выгрузки еще на порядок, т.к. из всего алгоритма выгрузки уйдут такие емкие по времени вещи как запрос к регистру остатков в обработке "Выгрузка ККМ" и проверка параметров каждого товара в ARM_KKM_AMC.ert, для принятия решения нужно его обновлять или нет. Но в этом случае придется перетаскивать этот код каждый раз при обновлении релиза конфигурации.