NULL
Rоma
Дата регистрации: 24.10.2008
Сообщений:
9
"1с предприятия 7,7 Торговля и Склад
здравствуйте помогите разобраться,после подключения KKM Off-Line выходит ошибка
ККМ в режиме Off-Line (модель: ККМ в режиме Off-Line) успешно подключена.
СписокТоваров.Штрихкод = СокрЛП(Товар.БазоваяЕдиница.Штрихкод);
{Обработка.ЗагрузкаККМ.Форма.Модуль(93)}: Поле агрегатного объекта не обнаружено (БазоваяЕдиница)
//******************************************************************************
// Выполнить()
//
// Параметры:
// нет
//
// Возвращаемое значение:
// нет
//
// Описание:
// получает остатки товаров выбранной фирмы на выбранном розничном складе,
// формирует таблицу значений, в которую записывает полученную инфрмацию и
// и вызывает функцию для загрузки этой информации в выбранную ККМ.
//
Процедура Выполнить()
Перем ОписаниеОш,ЦенаИзСправочника;
Если ПустоеЗначение(ВыбКасса) = 1 Тогда
Предупреждение("Не выбрана касса.", 60);
Возврат;
КонецЕсли;
Если ПустоеЗначение(ВыбСклад) = 1 Тогда
Предупреждение("Не выбран розничный торговый склад.", 60);
Возврат;
КонецЕсли;
Если ПустоеЗначение(ВыбОрганизация) = 1 Тогда
Предупреждение("Не выбрана организация.", 60);
Возврат;
КонецЕсли;
Способ = СпособВыгрузки.ПолучитьЗначение(СпособВыгрузки.ТекущаяСтрока());
ТекстОстРозн =
"//{{ЗАПРОС(ОстаткиРозницы)
|Организация = Регистр.ОстаткиТМЦ.Организация;
|Товар = Регистр.ОстаткиТМЦ.ТМЦ;
|Склад = Регистр.ОстаткиТМЦ.Склад;
|Цена = Регистр.ОстаткиТМЦ.ЦенаПрод;
|Колво = Регистр.ОстаткиТМЦ.Количество;
|Функция Количество = КонОст(Колво);
|Группировка Товар"+?(Способ="вся номенклатура"," Все","""")+";
|Группировка Цена;
|Условие(Организация = ВыбОрганизация);
|Условие(Склад = ВыбСклад);
|"//}}ЗАПРОС
;
ОстРозн = СоздатьОбъект("Запрос");
Если ОстРозн.Выполнить(ТекстОстРозн) = 0 Тогда
Предупреждение("Не выполнился запрос по остаткам", 60);
Возврат;
КонецЕсли;
СписокТоваров = СоздатьОбъект("ТаблицаЗначений");
СписокТоваров.НоваяКолонка("Код");
СписокТоваров.НоваяКолонка("Штрихкод");
СписокТоваров.НоваяКолонка("Наименование");
СписокТоваров.НоваяКолонка("Цена");
СписокТоваров.НоваяКолонка("Количество");
СписокТоваров.НоваяКолонка("Уровень");
СписокТоваров.НоваяКолонка("Родитель");
Пока ОстРозн.Группировка("Товар") = 1 Цикл
Если ОстРозн.Товар.ЭтоГруппа() = 1 Тогда
Если флГруппы = 0 Тогда
Продолжить;
Иначе
Товар = ОстРозн.Товар;
СписокТоваров.НоваяСтрока();
СписокТоваров.Код = СокрЛП(Товар.Код);
СписокТоваров.Штрихкод = """";
СписокТоваров.Наименование = СокрЛП(Товар.ПолноеНаименование);
СписокТоваров.Цена = """";
СписокТоваров.Количество = """";
СписокТоваров.Уровень = Товар.Уровень();
СписокТоваров.Родитель = СокрЛП(?(Товар.Родитель.Выбран()=1,Товар.Родитель.Код,"0"));
КонецЕсли;
КонецЕсли;
КоличествоОбщее = ОстРозн.Количество;
Пока ОстРозн.Группировка("Цена") = 1 Цикл
Товар = ОстРозн.Товар;
Если (КоличествоОбщее <> 0) и (ОстРозн.Количество = 0) Тогда
Продолжить;
КонецЕсли;
СписокТоваров.НоваяСтрока();
СписокТоваров.Код = СокрЛП(Товар.Код);
СписокТоваров.Штрихкод = СокрЛП(Товар.БазоваяЕдиница.Штрихкод);
СписокТоваров.Наименование = СокрЛП(Товар.ПолнНаименование);
Если ОстРозн.Количество<>0 Тогда
СписокТоваров.Цена = ОстРозн.Цена;
ИначеЕсли глВернутьЦену(Товар,Константа.РозничныйТипЦен,,ЦенаИзСправочника) = 1 Тогда
СписокТоваров.Цена = ЦенаИзСправочника;
Иначе
СписокТоваров.Цена = 0;
КонецЕсли;
СписокТоваров.Количество = ОстРозн.Количество;
СписокТоваров.Уровень = Товар.Уровень();
СписокТоваров.Родитель = СокрЛП(?(Товар.Родитель.Выбран()=1,Товар.Родитель.Код,"0"));
КонецЦикла;
КонецЦикла;
Если СписокТоваров.КоличествоСтрок() = 0 Тогда
Предупреждение("Перечень товаров для загрузки пуст.", 60);
Возврат;
КонецЕсли;
Если глККМЗагрузитьТовары(ВыбКасса, ВыбСклад.НомерСекции, СписокТоваров, ОписаниеОш) = 1 Тогда
Предупреждение("Загрузка номенклатуры успешно завершена.", 60);
Форма.Закрыть();
Иначе
Предупреждение(ОписаниеОш, 60);
КонецЕсли;
КонецПроцедуры
//******************************************************************************
// Предопределенная процедура.
//
Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога, ФлагСтандОбр)
Перем ВыбЗнач;
Если ИдентЭлемДиалога = "ВыбСклад" Тогда
ФлагСтандОбр = 0;
СпрСклады = СоздатьОбъект("Справочник.МестаХранения");
СписРозСкладов = СоздатьОбъект("СписокЗначений");
СпрСклады.ВыбратьЭлементы();
Пока СпрСклады.ПолучитьЭлемент() = 1 Цикл
Если (СпрСклады.Выбран() = 1) И (СпрСклады.РозничныйСклад = 1) Тогда
СписРозСкладов.ДобавитьЗначение(СпрСклады.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
Если СписРозСкладов.РазмерСписка() = 0 Тогда
Предупреждение("Нет зарегистрированно ни одного розничного склада.", 60);
Возврат;
КонецЕсли;
Если СписРозСкладов.ВыбратьЗначение(ВыбЗнач, , , 60, 2) = 1 Тогда
ВыбСклад = ВыбЗнач;
КонецЕсли;
ИначеЕсли ИдентЭлемДиалога = "ВыбКасса" Тогда
ФлагСтандОбр = 0;
СпрКассы = СоздатьОбъект("Справочник.ДенежныеСредства");
СписКасс = СоздатьОбъект("СписокЗначений");
СпрКассы.ВыбратьЭлементы();
Пока СпрКассы.ПолучитьЭлемент() = 1 Цикл
Если (СпрКассы.Выбран() = 1) И (СпрКассы.РежимККМ = Перечисление.РежимыККМ.OffLine) Тогда
СписКасс.ДобавитьЗначение(СпрКассы.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
Если СписКасс.РазмерСписка() = 0 Тогда
Предупреждение("Не зарегистрированно ни одной ККМ в режиме Off-Line.", 60);
Возврат;
КонецЕсли;
Если СписКасс.ВыбратьЗначение(ВыбЗнач, , , 60, 2) = 1 Тогда
ВыбКасса = ВыбЗнач;
КонецЕсли;
КонецЕсли;
КонецПроцедуры // ПриНачалеВыбораЗначения()
//******************************************************************************
// Предопределенная процедура.
//
Процедура ПриОткрытии(ФлагЧтенияНастройки)
Если ФлагЧтенияНастройки = 0 Тогда
Склад = глЗначениеПоУмолчанию("ОсновнойСклад");
Если Склад.РозничныйСклад = 1 Тогда
ВыбСклад = Склад;
КонецЕсли;
Касса = глЗначениеПоУмолчанию("ОсновнаяКасса");
Если Касса.РежимККМ = Перечисление.РежимыККМ.OffLine Тогда
ВыбКасса = Касса;
КонецЕсли;
КонецЕсли;
ВыбФирма = глЗначениеПоУмолчанию("ОсновнаяФирма");
КонецПроцедуры // ПриОткрытии()
// *****************************************************************************
// ТЕЛО МОДУЛЯ
СпособВыгрузки.УдалитьВсе();
СпособВыгрузки.ДобавитьЗначение("имеющиеся в наличии на выбранном складе");
СпособВыгрузки.ДобавитьЗначение("вся номенклатура");
СпособВыгрузки.ТекущаяСтрока(1);
флГруппы=0;"