Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Клиент Сервер и Драйвер = Новый COMОбъект("ecrmini.t400"); , Не виходить грамотно розприділити команди          
rogabob Подменю пользователя
сообщение 22.11.21, 15:23
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

Розница для Укр 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:09

Vofka Подменю пользователя
сообщение 22.11.21, 17:12
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

Спасибо сказали: rogabob,

rogabob Подменю пользователя
сообщение 22.11.21, 18:22
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

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

Vofka Подменю пользователя
сообщение 22.11.21, 20:14
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

Сообщение отредактировал Vofka - 22.11.21, 20:51

Спасибо сказали: rogabob,

rogabob Подменю пользователя
сообщение 22.11.21, 21:18
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

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
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

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
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

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

rogabob Подменю пользователя
сообщение 24.11.21, 19:27
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

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



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

Vofka Подменю пользователя
сообщение 25.11.21, 7:54
Сообщение #9

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

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


rogabob Подменю пользователя
сообщение 26.11.21, 11:39
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

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
Сообщение #11

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2903
Из: Київ, Україна
Спасибо сказали: 1145 раз
Рейтинг: 1225

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

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


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: rogabob,

rogabob Подменю пользователя
сообщение 26.11.21, 14:41
Сообщение #12

Общительный
**
Группа: Пользователи
Сообщений: 11
Спасибо сказали: 0 раз
Рейтинг: 0

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

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

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

Vofka Подменю пользователя
сообщение 26.11.21, 15:14
Сообщение #13

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Тема закрыта Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 9:58
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!