Версия для печати темы (https://pro1c.org.ua/index.php?s=5d40921e0eb79e4a2f83aa8893aa73e7&showtopic=66808)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Клиент Сервер и Драйвер = Новый COMОбъект("ecrmini.t400");

Автор: rogabob 22.11.21, 15:23

Розница для Укр 2.0.6, 1с 8.3.17 Клієнт сервер

Раніше клієнт і сервер був як один, тому відповідно найнятий програміст особо не заморочувався на ком обєктах які створюються на клієнті а які на сервері (якщо це один компютер), але після переносу бази (окремо сервер окремо клієнт) почалися проблеми з фіскальним реєстратором

Код

&НаСервере
Процедура ЗавантаженняТоварівНаСервере()
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Номенклатура.Ссылка,
        |    Номенклатура.КодПодГрупи,
        |    Номенклатура.КороткаНазва,
        |    Номенклатура.Артикул,
        |    Штрихкоды.Штрихкод,
        |    Номенклатура.Код,
        |    Номенклатура.Відділ
        |ПОМЕСТИТЬ ВТ_Ном
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
        |        ПО Номенклатура.Ссылка = Штрихкоды.Владелец
        |ГДЕ
        |    Номенклатура.ВигрузкаКасовий = ИСТИНА
        |
        |СГРУППИРОВАТЬ ПО
        |    Номенклатура.Ссылка,
        |    Штрихкоды.Штрихкод,
        |    Номенклатура.КодПодГрупи,
        |    Номенклатура.КороткаНазва,
        |    Номенклатура.Артикул,
        |    Номенклатура.Код
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ВТ_Ном.Ссылка,
        |    ВТ_Ном.КодПодГрупи,
        |    ВТ_Ном.КороткаНазва,
        |    ВТ_Ном.Артикул,
        |    ВТ_Ном.Штрихкод,
        |    ВТ_Ном.Код,
        |    ВТ_Ном.Відділ
        |ИЗ
        |    ВТ_Ном КАК ВТ_Ном
        |
        |СГРУППИРОВАТЬ ПО
        |    ВТ_Ном.Ссылка,
        |    ВТ_Ном.Артикул,
        |    ВТ_Ном.КороткаНазва,
        |    ВТ_Ном.Штрихкод,
        |    ВТ_Ном.КодПодГрупи,
        |    ВТ_Ном.Код,
        |    ВТ_Ном.Відділ";
    
    Запрос.УстановитьПараметр("Дата", КонецДня(ТекущаяДата()));
    //Запрос.УстановитьПараметр("ТипЦен", Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("000000002"));
    
    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Количество()>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;");
        сообщить("Вигрузку завершено.");

    Иначе
        сообщить("Немає дани для завантаження накасовий апарат !");
    КОнецЕсли;

КонецПроцедуры


&НаКлиенте
Процедура ЗавантаженняТоварів(Команда)
    ЗавантаженняТоварівНаСервере();
КонецПроцедуры


І з літератури ком обєкти сервер не передає.. або щось не правильно зрозумів

Якщо хтось підкаже як це змінити (можна і за оплату),
Потрібно щоб фіскальний отримував ті дані.
Бо все що на &клієнті виконується (тобто без процедур які виконуються на сервері)

Автор: Vofka 22.11.21, 17:12

rogabob, выборку данных надо сделать на сервере и вернуть на клиент. А на клиенте уже работать с КОМ объектом.

Автор: rogabob 22.11.21, 18:22

Vofka @ Сегодня, 17:12 * ,
Тобто виборку даних в масив поміщати?

Автор: Vofka 22.11.21, 20:14

rogabob @ Сегодня, 18:22 * ,
верно. Например, в массив структур.
Цену лучше получать в том же запросе и вернуть её сразу в структуре. Это и по производительности лучше будет и на клиенте вы получите все, что надо для печати чека.

Автор: rogabob 22.11.21, 21:18

Vofka @ Сегодня, 20:14 * ,
Правильно?
Сильно не "материть" - я не програміст

&НаСервере
Процедура ЗавантаженняТоварівНаСервере()
    
    ВыходнойМассив = Новый Массив;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Номенклатура.Ссылка,
        |    Номенклатура.КодПодГрупи,
        |    Номенклатура.КороткаНазва,
        |    Номенклатура.Артикул,
        |    Штрихкоды.Штрихкод,
        |    Номенклатура.Код,
        |    Номенклатура.Відділ
        |ПОМЕСТИТЬ ВТ_Ном
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
        |        ПО Номенклатура.Ссылка = Штрихкоды.Владелец
        |ГДЕ
        |    Номенклатура.ВигрузкаКасовий = ИСТИНА
        |
        |СГРУППИРОВАТЬ ПО
        |    Номенклатура.Ссылка,
        |    Штрихкоды.Штрихкод,
        |    Номенклатура.КодПодГрупи,
        |    Номенклатура.КороткаНазва,
        |    Номенклатура.Артикул,
        |    Номенклатура.Код
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ВТ_Ном.Ссылка,
        |    ВТ_Ном.КодПодГрупи,
        |    ВТ_Ном.КороткаНазва,
        |    ВТ_Ном.Артикул,
        |    ВТ_Ном.Штрихкод,
        |    ВТ_Ном.Код,
        |    ВТ_Ном.Відділ
        |ИЗ
        |    ВТ_Ном КАК ВТ_Ном
        |
        |СГРУППИРОВАТЬ ПО
        |    ВТ_Ном.Ссылка,
        |    ВТ_Ном.Артикул,
        |    ВТ_Ном.КороткаНазва,
        |    ВТ_Ном.Штрихкод,
        |    ВТ_Ном.КодПодГрупи,
        |    ВТ_Ном.Код,
        |    ВТ_Ном.Відділ,
        |ОБЪЕДИНИТЬ
        |ВЫБРАТЬ
        |    ЦеныНоменклатурыСрезПоследних.Цена
        |ИЗ
        |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
        |            &Дата,
        |            Номенклатура = &Номенклатура
        |И             ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних";

    Запрос.УстановитьПараметр("Дата", КонецДня(ТекущаяДата()));
    Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Роздрібна"));
    
    
    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Количество()>0 Тогда
        
        Кількість=0;
        Пока Результат.Следующий() Цикл                                                                  
            
            Если Результат.Ссылка.Весовой=Истина Тогда
                Штучний=1;
            Иначе
                Штучний=0;
            КонецЕсли;
            Артикул=СокрЛП(Результат.Артикул);
            Если Не ЗначениеЗаполнено(Артикул) Тогда
                Артикул=Формат(Прав(Результат.Код,8));
            КонецЕсли;    
                                                                                                //    сообщить(Артикул);
            КодПодГрупи =Результат.КодПодГрупи;
            Цена        =Формат(Результат.Цена,"ЧДЦ=2; ЧРД=.; ЧГ=0");
            Кількість    =Формат(Результат.Кількість,"ЧДЦ=3; ЧРД=.; ЧГ=0");
            Штрихкод    =СокрЛП(Результат.Штрихкод);
            Відділ        =Результат.Відділ;
            КороткаНазва=СокрЛП(Результат.КороткаНазва);
            Элт = Новый Структура("Артикул,КодПодГрупи,Відділ,Цена,Штрихкод,КороткаНазва,Кількість");
            Элт.Артикул     = Артикул;
            Элт.КодПодГрупи = Результат.КодПодГрупи;
            Элт.Штучний        = Штучний;
            Элт.Відділ        = Відділ;
            Элт.Цена        = Цена;
            Элт.Штрихкод    = Штрихкод;
            Элт.КороткаНазва= КороткаНазва;
            Элт.Кількість    = Кількість;
            ВыходнойМассив.Добавить(Элт);
            
            

            //сообщить("Завантажено: "+Результат.Артикул+" "+Результат.КороткаНазва+" "+Штрихкод+" "+Результат.КодПодГрупи+" "+Цена);
            //Драйвер.t400me("add_plu;"+СокрЛП(Артикул)+";"+КодПодГрупи+";"+Штучний+";0;0;1;"+Відділ+";"+Цена+";"+СокрЛП(Штрихкод)+";"+СокрЛП(Результат.КороткаНазва)+";"+Кількість+";");
        КонецЦикла;
        
        //Драйвер.t400me("close_port;");
        //сообщить("Вигрузку завершено.");
    
    Иначе
        //сообщить("Немає дани для завантаження накасовий апарат !");
    КОнецЕсли;
    //Возврат ВыходнойМассив;
КонецПроцедуры



Дана функція мала би вернути структуру, а вже потім на клієнті загрузити дані на фіскальний

Автор: rogabob 22.11.21, 22:58

rogabob @ Сегодня, 21:18 * ,

Вроде норм... чи знову все каряво?

&НаСервере
Процедура ЗавантаженняТоварівНаСервере()
    
    ВыходнойМассив = Новый Массив;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    
        "ВЫБРАТЬ
     |    ВидыЦен.Наименование,
     |    Номенклатура.Ссылка,
     |    Номенклатура.Код,
     |    Номенклатура.Артикул,
     |    Номенклатура.ВигрузкаКасовий,
     |    Номенклатура.КороткаНазва,
     |    Номенклатура.КодПодГрупи,
     |    Номенклатура.Відділ,
     |    Штрихкоды.Владелец,
     |    ЦеныНоменклатурыСрезПоследних.ВидЦены,
     |    ЦеныНоменклатурыСрезПоследних.Цена
     |ПОМЕСТИТЬ ВТ_НОМ
     |ИЗ
     |    РегистрСведений.Штрихкоды КАК Штрихкоды
     |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
     |        ПО Штрихкоды.Владелец = Номенклатура.Ссылка,
     |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
     |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦен КАК ВидыЦен
     |        ПО ЦеныНоменклатурыСрезПоследних.ВидЦены = ВидыЦен.Ссылка
     |        
     |ГДЕ
     |    Номенклатура.ВигрузкаКасовий = ИСТИНА
     |СГРУППИРОВАТЬ ПО
     |    Номенклатура.Ссылка,
     |    Номенклатура.Код,
     |    Номенклатура.Артикул,
     |    Номенклатура.ВигрузкаКасовий,
     |    Номенклатура.КороткаНазва,
     |    Номенклатура.КодПодГрупи,
     |    Номенклатура.Відділ,
     |    ВидыЦен.Наименование,
     |    Штрихкоды.Владелец,
     |    ЦеныНоменклатурыСрезПоследних.ВидЦены,
     |    ЦеныНоменклатурыСрезПоследних.Цена";
    
     Запрос.УстановитьПараметр("Дата", КонецДня(ТекущаяДата()));
     Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Роздрібна"));

    
    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Количество()>0 Тогда
        
        Кількість=0;
        Пока Результат.Следующий() Цикл                                                                  
            
            Если Результат.Ссылка.Весовой=Истина Тогда
                Штучний=1;
            Иначе
                Штучний=0;
            КонецЕсли;
            Артикул=СокрЛП(Результат.Артикул);
            Если Не ЗначениеЗаполнено(Артикул) Тогда
                Артикул=Формат(Прав(Результат.Код,8));
            КонецЕсли;    
                                                                                                //    сообщить(Артикул);
            КодПодГрупи =Результат.КодПодГрупи;
            Цена        =Формат(Результат.Цена,"ЧДЦ=2; ЧРД=.; ЧГ=0");
            Кількість    =Формат(Результат.Кількість,"ЧДЦ=3; ЧРД=.; ЧГ=0");
            Штрихкод    =СокрЛП(Результат.Штрихкод);
            Відділ        =Результат.Відділ;
            КороткаНазва=СокрЛП(Результат.КороткаНазва);
            Элт = Новый Структура("Артикул,КодПодГрупи,Відділ,Цена,Штрихкод,КороткаНазва,Кількість");
            Элт.Артикул     = Артикул;
            Элт.КодПодГрупи = Результат.КодПодГрупи;
            Элт.Штучний        = Штучний;
            Элт.Відділ        = Відділ;
            Элт.Цена        = Цена;
            Элт.Штрихкод    = Штрихкод;
            Элт.КороткаНазва= КороткаНазва;
            Элт.Кількість    = Кількість;
            ВыходнойМассив.Добавить(Элт);
            
            

            //сообщить("Завантажено: "+Результат.Артикул+" "+Результат.КороткаНазва+" "+Штрихкод+" "+Результат.КодПодГрупи+" "+Цена);
            //Драйвер.t400me("add_plu;"+СокрЛП(Артикул)+";"+КодПодГрупи+";"+Штучний+";0;0;1;"+Відділ+";"+Цена+";"+СокрЛП(Штрихкод)+";"+СокрЛП(Результат.КороткаНазва)+";"+Кількість+";");
        КонецЦикла;
        
        //Драйвер.t400me("close_port;");
        //сообщить("Вигрузку завершено.");
    
    Иначе
        //сообщить("Немає дани для завантаження накасовий апарат !");
    КОнецЕсли;
    //Возврат ВыходнойМассив;
КонецПроцедуры

Автор: Vofka 23.11.21, 7:53

rogabob, толь надо ж сделать это функцией и массив вернуть в конце

Возврат ВыходнойМассив;

Автор: rogabob 24.11.21, 19:27

Vofka @ Вчера, 7:53 * ,

Нарешті вийшло зробити ту вибірку яка потрібна
Кому не важко переглянути може щось не правильно

ВЫБРАТЬ
    Штрихкоды.Штрихкод,
    Номенклатура.КороткаНазва,
    Номенклатура.КодПодГрупи,
    Номенклатура.Відділ,
    Номенклатура.ВигрузкаКасовий,
    Номенклатура.Ссылка
ПОМЕСТИТЬ втНом
ИЗ
    РегистрСведений.Штрихкоды КАК Штрихкоды
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
        ПО Штрихкоды.Владелец = Номенклатура.Ссылка
ГДЕ
    Номенклатура.ВигрузкаКасовий = ИСТИНА
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    втНом.КороткаНазва,
    втНом.КодПодГрупи,
    втНом.Відділ,
    втНом.ВигрузкаКасовий,
    втНом.Штрихкод,
    ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
    втНом КАК втНом
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
                &Дата,
                Номенклатура В
                    (ВЫБРАТЬ
                        втНом.Ссылка
                    ИЗ
                        втНом КАК втНом)) КАК ЦеныНоменклатурыСрезПоследних
        ПО втНом.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
ГДЕ
    ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = "Роздрібна"



І чи можна вставити замість &Дата, щоб постійно бралася ТекущаяДата? або ДатаЗапроса.. і як це правильно

Автор: Vofka 25.11.21, 7:54

Цитата(rogabob @ 24.11.21, 19:27) *
І чи можна вставити замість &Дата, щоб постійно бралася ТекущаяДата?

Запрос.УстановитьПараметр("Дата", ТекущаяДата());


Автор: rogabob 26.11.21, 11:39

Vofka @ Вчера, 7:54 *

Свариться на це.. підкажіть що потрібно виправити

Возврат ВыходнойМассив;

{Обработка.T400.Форма.Форма1.Форма(96,24)}: Процедура не може повертати значення
    Возврат ВыходнойМассив<<?>>; (Перевірка: Сервер)
{Обработка.T400.Форма.Форма1.Форма(96,24)}: Процедура не може повертати значення
    Возврат ВыходнойМассив<<?>>; (Перевірка: Тонкий клієнт)


&НаСервере
Процедура ЗавантаженняТоварівНаСервере()
    
    ВыходнойМассив = Новый Массив;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    
"ВЫБРАТЬ
|    Штрихкоды.Штрихкод,
|    Номенклатура.КороткаНазва,
|    Номенклатура.КодПодГрупи,
|    Номенклатура.Відділ,
|    Номенклатура.ВигрузкаКасовий,
|    Номенклатура.Ссылка
|ПОМЕСТИТЬ втНом
|ИЗ
|    РегистрСведений.Штрихкоды КАК Штрихкоды
|        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
|        ПО Штрихкоды.Владелец = Номенклатура.Ссылка
|ГДЕ
|    Номенклатура.ВигрузкаКасовий = ИСТИНА
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|    втНом.КороткаНазва КАК КороткаНазва,
|    втНом.КодПодГрупи КАК КодПодГрупи,
|    втНом.Відділ КАК Відділ,
|    втНом.ВигрузкаКасовий КАК ВигрузкаКасовий,
|    втНом.Штрихкод КАК Штрихкод,
|    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
|ИЗ
|    втНом КАК втНом
|        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
|                &Дата,
|                Номенклатура В
|                    (ВЫБРАТЬ
|                        втНом.Ссылка
|                    ИЗ
|                        втНом КАК втНом)) КАК ЦеныНоменклатурыСрезПоследних
|        ПО втНом.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
|ГДЕ
|    ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = &ВидЦены
|    И втНом.ВигрузкаКасовий = ИСТИНА
|
|СГРУППИРОВАТЬ ПО
|    втНом.КороткаНазва,
|    втНом.КодПодГрупи,
|    втНом.Відділ,
|    втНом.ВигрузкаКасовий,
|    втНом.Штрихкод,
|    ЦеныНоменклатурыСрезПоследних.Цена";

     Запрос.УстановитьПараметр("Дата", КонецДня(ТекущаяДата()));
     Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Роздрібна"));
    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Количество()>0 Тогда
        Кількість=0;
        Пока Результат.Следующий() Цикл                                                                  
            Если Результат.Ссылка.Весовой=Истина Тогда
                Штучний=1;
            Иначе
                Штучний=0;
            КонецЕсли;
            Артикул=СокрЛП(Результат.Артикул);
            Если Не ЗначениеЗаполнено(Артикул) Тогда
                Артикул=Формат(Прав(Результат.Код,8));
            КонецЕсли;    
                                                                                            //    сообщить(Артикул);
            КодПодГрупи =Результат.КодПодГрупи;
            Цена        =Формат(Результат.Цена,"ЧДЦ=2; ЧРД=.; ЧГ=0");
            Кількість    =Формат(Результат.Кількість,"ЧДЦ=3; ЧРД=.; ЧГ=0");
            Штрихкод    =СокрЛП(Результат.Штрихкод);
            Відділ        =Результат.Відділ;
            КороткаНазва=СокрЛП(Результат.КороткаНазва);
            Элт = Новый Структура("Артикул,КодПодГрупи,Відділ,Цена,Штрихкод,КороткаНазва,Кількість");
            Элт.Артикул     = Артикул;
            Элт.КодПодГрупи = Результат.КодПодГрупи;
            Элт.Штучний        = Штучний;
            Элт.Відділ        = Відділ;
            Элт.Цена        = Цена;
            Элт.Штрихкод    = Штрихкод;
            Элт.КороткаНазва= КороткаНазва;
            Элт.Кількість    = Кількість;
            ВыходнойМассив.Добавить(Элт);
            //сообщить("Завантажено: "+Результат.Артикул+" "+Результат.КороткаНазва+" "+Штрихкод+" "+Результат.КодПодГрупи+" "+Цена);
            //Драйвер.t400me("add_plu;"+СокрЛП(Артикул)+";"+КодПодГрупи+";"+Штучний+";0;0;1;"+Відділ+";"+Цена+";"+СокрЛП(Штрихкод)+";"+СокрЛП(Результат.КороткаНазва)+";"+Кількість+";");
        КонецЦикла;
        //Драйвер.t400me("close_port;");
        //сообщить("Вигрузку завершено.");
    Иначе
        //сообщить("Немає дани для завантаження накасовий апарат !");
    КОнецЕсли;
    Возврат ВыходнойМассив;
КонецПроцедуры

&НаКлиенте
Процедура ЗавантаженняТоварів(Команда)
    ЗавантаженняТоварівНаСервере();
КонецПроцедуры


Насервере
вместо процедури написав функция..
так можна.. ?

Автор: Petre 26.11.21, 11:48

QUOTE (rogabob @ 26.11.21, 11:39) *
вместо процедури написав функция..
так можна.. ?

Саме так і потрібно. Процедура не повертає значення. Функція - повертає. То ж замість "Процедура / КонецПроцедуры" пишіть "Функция / КонецФункции".

Автор: rogabob 26.11.21, 14:41

Petre @ Сегодня, 11:48 * ,
!! так і зробив.. все компілятор не плюється)

але є друге, в консолі запитів вибірка показується, а от Запрос.Выполнить().Выбрать(); ..щось мовчить, повертає 0

        
      Результат = Запрос.Выполнить().Выбрать();
    сообщить("count:" +  Результат.Количество());

Автор: Vofka 26.11.21, 15:14

Закрою тему. Правила, пункт 6.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua