7.7 печать артикула

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Rustam, 16 мар 2007.

  1. TopicStarter Overlay
    Rustam
    Offline

    Rustam Опытный в 1С

    Регистрация:
    25 сен 2006
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Всем огромный привет!
    Есть небольшая проблема и как всенда я решил воспользоваться светлыми умами сего форума за что ему огромное спасибо.
    У меня термальный принтер, но в принцепе на сколько я понимаю к делк это не имеет особого отношения.
    Итак на этикетках распечатываются цены штрихкод название и.т.д.
    Проблема в том, что я никак не могу вывести на печать артукул пишу код типа

    LabelPrinter.DrawText(Номенклатура.Артикул,"Arial",РазмерШрифта+3,"",204,0);
    LabelPrinter.EZPrintLabel(Êîïèè,"PORT",1);

    Цены наименование печатает нормально но вот это ни вкакую:(
    При печати выдает типа,
    LabelPrinter.DrawText(Номенклатура<<?>>.Артикул,"Arial",РазмерШрифта+3,"",204,0);
    Переменная не определена

    Заранее благодарен!
  2. Tiger
    Offline

    Tiger Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    489
    Симпатии:
    0
    Баллы:
    26
    Надо полный текст процедуры печати.
    Похоже на то что в момент печати Номенклатура не определена или может совсем нет в документе реквизита Номенклатура.
    Какая конфигурация?
  3. TopicStarter Overlay
    Rustam
    Offline

    Rustam Опытный в 1С

    Регистрация:
    25 сен 2006
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    конфигурация ТиС 9,35
    вот текст
    Ïðîöåäóðà Ñôîðìèðîâàòü(ÒàáëèöàÒîâàðîâ, Óñòðîéñòâî)
    LabelPrinter = ÑîçäàòüÎáúåêò("LabelPrint.LabelImage");
    Åñëè ÒàáëèöàÒîâàðîâ.Êîëè÷åñòâîÑòðîê() = 1 Òîãäà
    ÒàáëèöàÒîâàðîâ.Ïîëó÷èòüÑòðîêóÏîÍîìåðó(1);
    ÂûáÍîìåíêëàòóðà= ÒàáëèöàÒîâàðîâ.Òîâàð;
    Êîïèÿ = ÒàáëèöàÒîâàðîâ.Êîïèÿ;
    Êîëâî = ÒàáëèöàÒîâàðîâ.Øòðèõêîä;
    Ñòðàíà = ÒàáëèöàÒîâàðîâ.Ñòðàíà;
    ÐÖåíà = ÒàáëèöàÒîâàðîâ.ÐÖåíà;
    Ïàðàì = ÑîçäàòüÎáúåêò("ÑïèñîêÇíà÷åíèé");
    Ïàðàì.ÄîáàâèòüÇíà÷åíèå(ÂûáÍîìåíêëàòóðà , "Íîìåíêëàòóðà");
    Ïàðàì.ÄîáàâèòüÇíà÷åíèå(Êîïèÿ , "Êîëè÷åñòâî");
    //ÊóðñÐóá = ãëÊóðñÄëÿÂàëþòû(Êîíñòàíòà.ÍàöÂàëþòà, Ïîëó÷èòüÒÀ());
    //Âó=Êîíñòàíòà.ÂàëþòàÁóõó÷åòà;
    //ÊóðñÐóá = ãëÊóðñÄëÿÂàëþòû(Âó, Ïîëó÷èòüÒÀ());
    //
    //ãëôðì(îêð(ãëÏåðåñ÷åò (Ðîçíè÷íàÿÖåíà,Âàëþòà,Êóðñ,ãëÌàíàòû,ÄàòàÄîê),-3,1))
    //öåíàâìàí=îêð(ãëÏåðåñ÷åò (ÐÖåíà,Âó,ÊóðñÐóá,ãëÌàíàòû,Ïîëó÷èòüÒÀ()),-3,1);
    ÎòêðûòüÔîðìóÌîäàëüíî("Îáðàáîòêà.ÂâîäÊîëè÷åñòâà1", Ïàðàì);

    Êîïèÿ = Ïàðàì.Ïîëó÷èòü("Êîëè÷åñòâî");
    Åñëè Ïàðàì.Ïîëó÷èòü("ÑòàòóñÂîçâðàòà") = 0 Òîãäà
    Âîçâðàò;
    ÊîíåöÅñëè;
    Êîïèè = Êîïèÿ;
    Ïðèíò=Êîíñòàíòà.ÏðèíòåðCotex;
    ßðêîñòü=Ïðèíò.ßðêîñòü;
    Âûñîòà=Ïðèíò.Âûñîòà;
    Ñëåâà=Ïðèíò.Ñëåâà;
    Ñïðàâà=Ïðèíò.Ñïðàâà;
    ÐàçìåðØðèôòà=Ïðèíò.ÐàçìåðØðèôòà;
    Ââåðõ=Ïðèíò.Ââåðõ;
    Âíèç=Ïðèíò.Âíèç;
    ÂÁ=Êîíñòàíòà.ÍàöÂàëþòà;
    öåíàâìàí=ðöåíà*ÂÁ.Êðàòíîñòü;
    Àâòîð=ãëÏîëüçîâàòåëü;
    Ôèðìà = ãëÇíà÷åíèåÏîÓìîë÷àíèþ("ÎñíîâíàÿÔèðìà");

    Ïàðàì = ÑîçäàòüÎáúåêò("ÑïèñîêÇíà÷åíèé");
    Ïàðàì.ÄîáàâèòüÇíà÷åíèå(ÂûáÍîìåíêëàòóðà , "Íîìåíêëàòóðà");
    LabelPrinter.Darknes = ßðêîñòü;
    LabelPrinter.LabelGap = 2;
    LabelPrinter.PrintSpeed = 2;
    LabelPrinter.PrinterType = 1;
    LabelPrinter.ForwardPaper = 0;
    LabelPrinter.BackupPaper = 0;
    LabelPrinter.BeginLabel(57,40);
    Åñëè ÔÑ.ÑóùåñòâóåòÔàéë(ÊàòàëîãÈÁ()+ïðèíò.ôàéë)=1 Òîãäà
    LabelPrinter.DrawImage(ÊàòàëîãÈÁ()+ïðèíò.ôàéë,LabelPrinter.Width-LabelPrinter.Width/4,5,LabelPrinter.Width-3,(LabelPrinter.Height/2)-3,0);
    ÊîíåöÅñëè;
    Åñëè ïðèíò.ïå÷àòüôèðìû=1 Òîãäà
    LabelPrinter.DrawText(2,1,Ñòðàíà,"Arial",ÐàçìåðØðèôòà+2,"",204,0);
    ÊîíåöÅñëè;
    ÊóðñÐóá = ãëÊóðñÄëÿÂàëþòû(ãëðóáëè, Ïîëó÷èòüÒÀ());
    LabelPrinter.DrawText(2,5,ÂûáÍîìåíêëàòóðà,"Arial",ÐàçìåðØðèôòà,"",204,0);
    // LabelPrinter.DrawText(2,14, "USD: "+ÐÖåíà,"Arial",ÐàçìåðØðèôòà+2,"",204,0);
    LabelPrinter.DrawText(2,14, ÑîêðËÏ(Íîìåíêëàòóðà.Àðòèêóë),"Arial",ÐàçìåðØðèôòà+3,"",204,0);
    LabelPrinter.DrawText(2,10,"AZN: "+(îêð(ãëÏåðåñ÷åò (ðÖåíà,ãëðóáëè,ÊóðñÐóá,ãëÍÌàíàòû,òåêóùàÿäàòà()),0,1)),"Arial",ÐàçìåðØðèôòà+6,"",204,0);
    LabelPrinter.DrawBarCode(Ñëåâà,Ââåðõ,LabelPrinter.Width-2,LabelPrinter.Height-1,0,2,Êîëâî,1,1,"Tahoma",1,,204);
    LabelPrinter.EZPrintLabel(Êîïèè,"PORT",1);

    ÊîíåöÅñëè;

    ÊîíåöÏðîöåäóðû

    //******************************************************************************
    // Ïðåäîïðåäåëåííàÿ ïðîöåäóðà
    //
    Ïðîöåäóðà ÏðèÎòêðûòèè()
    Åñëè ÒèïÇíà÷åíèÿÑòð(Ôîðìà.Ïàðàìåòð) <> "ÑïèñîêÇíà÷åíèé" Òîãäà
    Âîçâðàò;
    ÊîíåöÅñëè;

    Ïàðàìåòð=Ôîðìà.Ïàðàìåòð;
    Óñòðîéñòâî = Ïàðàìåòð.Ïîëó÷èòü("Óñòðîéñòâî");
    Åñëè ÏóñòîåÇíà÷åíèå(Óñòðîéñòâî) = 1 Òîãäà
    Óñòðîéñòâî = "ýêðàí";
    ÊîíåöÅñëè;

    Ñôîðìèðîâàòü(Ïàðàìåòð.Ïîëó÷èòü("ÒàáëèöàÒîâàðîâ"), Óñòðîéñòâî);
    ÑòàòóñÂîçâðàòà(0);
    ÊîíåöÏðîöåäóðû // ÏðèÎòêðûòèè()
  4. Tiger
    Offline

    Tiger Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    489
    Симпатии:
    0
    Баллы:
    26
    Что то не смог я отгадать в какой кодировке текст. Или это у меня у одного кракозябры одни видны
  5. TopicStarter Overlay
    Rustam
    Offline

    Rustam Опытный в 1С

    Регистрация:
    25 сен 2006
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Tiger Сам непойму в чем дело в конфигураторе все нормально, а как копирую куда либо на тебе никак кодировку не пойму черт в чем же дело:(
  6. TopicStarter Overlay
    Rustam
    Offline

    Rustam Опытный в 1С

    Регистрация:
    25 сен 2006
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    //*******************************************
    Процедура Сформировать(ТаблицаТоваров, Устройство)

    LabelPrinter = СоздатьОбъект("LabelPrint.LabelImage");
    Если ТаблицаТоваров.КоличествоСтрок() = 1 Тогда
    ТаблицаТоваров.ПолучитьСтрокуПоНомеру(1);
    ВыбНоменклатура= ТаблицаТоваров.Товар;
    Копия = ТаблицаТоваров.Копия;
    Колво = ТаблицаТоваров.Штрихкод;
    Страна = ТаблицаТоваров.Страна;
    РЦена = ТаблицаТоваров.РЦена;
    //Парам = СоздатьОбъект("СписокЗначений");
    //Парам.ДобавитьЗначение(ВыбНоменклатура , "Номенклатура");
    //Парам.ДобавитьЗначение(Копия , "Количество");
    //КурсРуб = глКурсДляВалюты(Константа.НацВалюта, ПолучитьТА());
    //Ву=Константа.ВалютаБухучета;
    //КурсРуб = глКурсДляВалюты(Ву, ПолучитьТА());
    //
    //глфрм(окр(глПересчет (РозничнаяЦена,Валюта,Курс,глМанаты,ДатаДок),-3,1))
    //ценавман=окр(глПересчет (РЦена,Ву,КурсРуб,глМанаты,ПолучитьТА()),-3,1);
    //ОткрытьФормуМодально("Обработка.ВводКоличества1", Парам);

    //Копия = Парам.Получить("Количество");
    //Если Парам.Получить("СтатусВозврата") = 0 Тогда
    // Возврат;
    //КонецЕсли;
    Копии = Копия;
    Принт=Константа.ПринтерCotex;
    Яркость=Принт.Яркость;
    Высота=Принт.Высота;
    Слева=Принт.Слева;
    Справа=Принт.Справа;
    РазмерШрифта=Принт.РазмерШрифта;
    Вверх=Принт.Вверх;
    Вниз=Принт.Вниз;
    ВБ=Константа.НацВалюта;
    ценавман=рцена*ВБ.Кратность;
    Автор=глПользователь;
    Фирма = глЗначениеПоУмолчанию("ОсновнаяФирма");

    Парам = СоздатьОбъект("СписокЗначений");
    Парам.ДобавитьЗначение(ВыбНоменклатура , "Номенклатура");
    LabelPrinter.Darknes = Яркость;
    LabelPrinter.LabelGap = 2;
    LabelPrinter.PrintSpeed = 2;
    LabelPrinter.PrinterType = 1;
    LabelPrinter.ForwardPaper = 0;
    LabelPrinter.BackupPaper = 0;
    LabelPrinter.BeginLabel(57,40);
    Если ФС.СуществуетФайл(КаталогИБ()+принт.файл)=1 Тогда
    LabelPrinter.DrawImage(КаталогИБ()+принт.файл,LabelPrinter.Width-LabelPrinter.Width/4,5,LabelPrinter.Width-3,(LabelPrinter.Height/2)-3,0);
    КонецЕсли;
    Если принт.печатьфирмы=1 Тогда
    LabelPrinter.DrawText(2,1,Страна,"Arial",РазмерШрифта+2,"",204,0);
    КонецЕсли;
    КурсРуб = глКурсДляВалюты(глрубли, ПолучитьТА());
    LabelPrinter.DrawText(2,5,ВыбНоменклатура,"Arial",РазмерШрифта,"",204,0);
    // Вот он тот самый артикул

    // LabelPrinter.DrawText(2,12,"AZM: "+ Номенклатура.Артикул-3,1)),"Arial",РазмерШрифта+3,"",204,0);
    LabelPrinter.DrawText(2,10,"AZN: "+(окр(глПересчет (рЦена,глрубли,КурсРуб,глНМанаты,текущаядата()),0,1)),"Arial",РазмерШрифта+6,"",204,0); ;
    LabelPrinter.DrawBarCode(Слева,Вверх,LabelPrinter.Width-2,LabelPrinter.Height-1,0,2,Колво,1,1,"Tahoma",1,,204);
    LabelPrinter.EZPrintLabel(Копии,"PORT",1);
    КонецЕсли;

    Вот Tiger посмотри плз

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

    //******************************************************************************
    // Предопределенная процедура
    //
    Процедура ПриОткрытии()
    Если ТипЗначенияСтр(Форма.Параметр) <> "СписокЗначений" Тогда
    Возврат;
    КонецЕсли;

    Параметр=Форма.Параметр;
    Устройство = Параметр.Получить("Устройство");
    Если ПустоеЗначение(Устройство) = 1 Тогда
    Устройство = "экран";
    КонецЕсли;

    Сформировать(Параметр.Получить("ТаблицаТоваров"), Устройство);
    СтатусВозврата(0);
    КонецПроцедуры // ПриОткрытии()
  7. ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Косяки с кодировкой бывают, когда при копировании из 1С у тебя стоит RUS, а при вставке, например в Word, стоит ENG или наоборот.
  8. Major
    Offline

    Major

    Регистрация:
    3 апр 2008
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Доброго дня. Есть такая проблема:
    У нас артикул - 7 символов. 1С печатает 8. Приходящий программист 1С сказал что нельзя делать артикул 7 символов, дескать есть 5 и 8. а 7 - нестандарт. Кто что посоветует?
  9. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Какая Конфа, какой документ печатаешь? 7 символов сами назначали?
  10. Major
    Offline

    Major

    Регистрация:
    3 апр 2008
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Конфа - самописная.
    печатаю этикетку(Баркод)
    7 символов артикул у производства.нельзя ни больше - не меньше.
    А печатает 8.
  11. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Ну раз самописная, трудно мне что-либо сказать. А 8 символ программа откуда берет и как это выглядит? Сама придумывает? Посмотри процедуру Печать в модуле документа. Может быть стоят какие-нибудь установки.
  12. Major
    Offline

    Major

    Регистрация:
    3 апр 2008
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1

    Разобрался сам

    в OLE объекте BARCODE

    стаял тип EAN 8

    поставил

    CODE 39
  13. Kaboom
    Offline

    Kaboom Опытный в 1С

    Регистрация:
    2 июл 2007
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    2Rustam
    Попробуй
    Код:
    LabelPrinter.DrawText(ВыбНоменклатура.Артикул,"Arial",РазмерШрифта+3,"",204,0); 
    
    
    ЗЫ И пожалуйста, вставляй код с тэгами
    Код:
     - читать намного удобней.

Поделиться этой страницей