Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0
Розница для Укр 2.0.6, 1с 8.3.17 Клієнт сервер
Раніше клієнт і сервер був як один, тому відповідно найнятий програміст особо не заморочувався на ком обєктах які створюються на клієнті а які на сервері (якщо це один компютер), але після переносу бази (окремо сервер окремо клієнт) почалися проблеми з фіскальним реєстратором
Результат = Запрос.Выполнить().Выбрать(); Если Результат.Количество()>0 Тогда Драйвер = Новый COMОбъект("ecrmini.t400"); Драйвер.t400me("open_port;2;115200;"); Драйвер.t400me("del_plu;2;1;"); // Драйвер.t400me("close_port;");
// Драйвер.t400me("open_port;4;115200;");
//Відділ=1; Кількість=0; Пока Результат.Следующий() Цикл
ЗапросЦена = Новый Запрос; ЗапросЦена.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Цена |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних( | &Дата, | Номенклатура = &Номенклатура | И ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних"; ЗапросЦена.УстановитьПараметр("Номенклатура", Результат.Ссылка); ЗапросЦена.УстановитьПараметр("Дата", КонецДня(ТекущаяДата())); ЗапросЦена.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Роздрібна")); РезультатЗапросаЦена = ЗапросЦена.Выполнить().Выбрать(); Цена=0; Если РезультатЗапросаЦена.Количество()>0 Тогда Пока РезультатЗапросаЦена.Следующий() Цикл Цена=РезультатЗапросаЦена.Цена; КонецЦикла; КонецЕсли;
Если Результат.Ссылка.Весовой=Истина Тогда Штучний=1; Иначе Штучний=0; КонецЕсли; Артикул=СокрЛП(Результат.Артикул); Если Не ЗначениеЗаполнено(Артикул) Тогда Артикул=Формат(Прав(Результат.Код,8)); КонецЕсли; // сообщить(Артикул); КодПодГрупи=Результат.КодПодГрупи; Цена=Формат(Цена,"ЧДЦ=2; ЧРД=.; ЧГ=0"); Кількість=Формат(Кількість,"ЧДЦ=3; ЧРД=.; ЧГ=0"); Штрихкод=СокрЛП(Результат.Штрихкод); Відділ=Результат.Відділ; сообщить("Завантажено: "+Результат.Артикул+" "+Результат.КороткаНазва+" "+Штрихкод+" "+Результат.КодПодГрупи+" "+Цена); Драйвер.t400me("add_plu;"+СокрЛП(Артикул)+";"+КодПодГрупи+";"+Штучний+";0;0;1;"+Відділ+";"+Цена+";"+СокрЛП(Штрихкод)+";"+СокрЛП(Результат.КороткаНазва)+";"+Кількість+";"); КонецЦикла; Драйвер.t400me("close_port;"); сообщить("Вигрузку завершено.");
Иначе сообщить("Немає дани для завантаження накасовий апарат !"); КОнецЕсли;
І з літератури ком обєкти сервер не передає.. або щось не правильно зрозумів
Якщо хтось підкаже як це змінити (можна і за оплату), Потрібно щоб фіскальний отримував ті дані. Бо все що на &клієнті виконується (тобто без процедур які виконуються на сервері)
Группа: Основатель
Сообщений: 13988
Из: Киев
Спасибо сказали: 4562 раз
Рейтинг: 3690.8
rogabob @ Сегодня, 18:22
, верно. Например, в массив структур. Цену лучше получать в том же запросе и вернуть её сразу в структуре. Это и по производительности лучше будет и на клиенте вы получите все, что надо для печати чека.
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0
Vofka @ Вчера, 7:53
,
Нарешті вийшло зробити ту вибірку яка потрібна Кому не важко переглянути може щось не правильно
ВЫБРАТЬ Штрихкоды.Штрихкод, Номенклатура.КороткаНазва, Номенклатура.КодПодГрупи, Номенклатура.Відділ, Номенклатура.ВигрузкаКасовий, Номенклатура.Ссылка ПОМЕСТИТЬ втНом ИЗ РегистрСведений.Штрихкоды КАК Штрихкоды ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура ПО Штрихкоды.Владелец = Номенклатура.Ссылка ГДЕ Номенклатура.ВигрузкаКасовий = ИСТИНА ;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ втНом.КороткаНазва, втНом.КодПодГрупи, втНом.Відділ, втНом.ВигрузкаКасовий, втНом.Штрихкод, ЦеныНоменклатурыСрезПоследних.Цена ИЗ втНом КАК втНом ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( &Дата, Номенклатура В (ВЫБРАТЬ втНом.Ссылка ИЗ втНом КАК втНом)) КАК ЦеныНоменклатурыСрезПоследних ПО втНом.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура ГДЕ ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = "Роздрібна"
І чи можна вставити замість &Дата, щоб постійно бралася ТекущаяДата? або ДатаЗапроса.. і як це правильно
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0
Vofka @ Вчера, 7:54
Свариться на це.. підкажіть що потрібно виправити
Возврат ВыходнойМассив;
{Обработка.T400.Форма.Форма1.Форма(96,24)}: Процедура не може повертати значення Возврат ВыходнойМассив<<?>>; (Перевірка: Сервер) {Обработка.T400.Форма.Форма1.Форма(96,24)}: Процедура не може повертати значення Возврат ВыходнойМассив<<?>>; (Перевірка: Тонкий клієнт)
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!