Пяти минутное дело. 1С 7.7 Торговля и склад

Тема в разделе "1C и всё что с ней связано", создана пользователем diman_ob_304, 27 июл 2007.

Статус темы:
Закрыта.
  1. diman_ob_304

    diman_ob_304 Гость

    Есть код, этот код выводит на печать ценники (три ряда по два ценника в каждом ряде на странице). Необходимо чтоб было три ряда по три ценника. Заранее спасибо.


    Сам код:

    //******************************************************************************
    // ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд)
    //
    // Параметры:
    // Таб - таблица, в которую выполняется вывод ценника
    // ПечНаименование - наименование товара
    // ПечЕдиница - единица измерения товара
    // ПечРозн - цена товара
    // Столбик - номер столбика.
    // Ряд - номер ряда
    //
    // Возвращаемое значение:
    // Нет.
    //
    // Описание:
    // Добавляет ценник в таблицу.
    //
    Процедура ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд)

    Столбик = ?(Столбик = 1, 0 , 1 );
    Ряд = ?(Столбик = 0, Ряд + 1, Ряд);

    Если Ряд > 3 Тогда
    Таб.НоваяСтраница();
    Ряд = 1;
    КонецЕсли;

    Если Столбик = 0 Тогда
    Таб.ВывестиСекцию("Товар|Ценник");
    Иначе
    Таб.ПрисоединитьСекцию("Товар|Ценник");

    КонецЕсли;

    КонецПроцедуры // ДобавитьЦенник()


    //******************************************************************************
    // Сформировать(ТаблицаТоваров, ПечФирма)
    //
    // Параметры:
    // ТаблицаТоваров - таблица значений, содержащая информацию о цене товара
    // ПечФирма - наименование фирмы, которое будет выводиться вверху ценника
    //
    // Возвращаемое значение:
    // Нет.
    //
    // Описание:
    // Формирует таблицу с ценниками.
    //
    Процедура Сформировать(ТаблицаТоваров,ПечФирма)

    // Создание Таблицы для выходного отчета
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");

    Столбик = 1;
    Ряд = 0;

    ТаблицаТоваров.ВыбратьСтроки();
    Пока ТаблицаТоваров.ПолучитьСтроку() = 1 Цикл
    ПечРозн = глФРМ(ТаблицаТоваров.Цена, ТаблицаТоваров.Валюта);
    ПечНаименование = ТаблицаТоваров.Товар;
    ДобавитьЦенник(Таб, ПечФирма, ТаблицаТоваров.Товар, ТаблицаТоваров.Единица, ПечРозн, Столбик, Ряд);
    глОживить(1);
    КонецЦикла;

    //Вызов выходного отчета в окно просмотра и редактирования.
    Таб.Опции(0,0,0,0,"ПечатьЦенников","ПечатьЦенников");
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Товарные ценники","");

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

    //******************************************************************************
    // Предопределенная процедура
    //
    Процедура ПриОткрытии()

    СтатусВозврата(0);
    ДанныеДляПечати = Форма.Параметр;

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

    ПечФирма = ДанныеДляПечати.Получить("Фирма");
    ТаблицаТоваров = ДанныеДляПечати.Получить("Таблица");

    Сформировать(ТаблицаТоваров, ПечФирма);

    КонецПроцедуры // ПриОткрытии()
     
  2. LSH

    LSH Гость

    Для: diman_ob_304

    15$
     
  3. diman_ob_304

    diman_ob_304 Гость

    Гы, за 15 баков, я выучу язык :)

    Тут типа, только за вознограждение делается?
     
  4. LSH

    LSH Гость

    Нет тут типа помогают людям разобраться с 1С, а не сделать какую-то хрень забесплатно.
    Причем, код сюда постить можно только по запросу. Я, например, его даже не читал, да и никто не будет.
    Дмай сам, а если не получится - с конкретными вопросами сюда.
     
  5. diman_ob_304

    diman_ob_304 Гость

    Ок, понял, не мир дурак бы не понял. :)
     
  6. Typhoon

    Typhoon Гость

    Опять такое впечатление что все сами до всего доходили или потратили уже порядка 1 баксов на то чтобы им решали их проблема!

    diman_ob_304 вот аська отвечу и помогу чем смогу БЕСПЛАТНО! 160592725
     
  7. Driver

    Driver Гость

    [

    Добавлено: Ребята а подскажите как добавит еше один столбик ценников когда он распечатывает? Выходит так, когда распечатываю там два столбика в каждом столбике по три ценника и еше места много остается пестова на буиаге. Как сделать три столбика? Подскажите плиз
     
  8. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Посмотреть в коде, как выводится 3 столбика и по образу добавить четвертый!
     
  9. Driver

    Driver Гость

    Спосибо большое за подсказку :discard:
     
  10. evgenyatam

    evgenyatam Well-Known Member

    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    Процедура ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд)

    Столбик = ?(Столбик = 1, 0 , 1 );
    Ряд = ?(Столбик = 0, Ряд + 1, Ряд);

    Если Ряд > 3 Тогда
    Таб.НоваяСтраница();
    Ряд = 1;
    КонецЕсли;

    все вычисленеия в этом коде. а вообще то код достаточно заумный
     
  11. Hryv

    Hryv Гость

    вместо
    Столбик = ?(Столбик = 1, 0 , 1 );

    надо
    Столбик = Столбик+1;
    Столбик = ?(Столбик = 3, 0 , Столбик);


    а в другом месте вместо
    Столбик = 1;

    надо
    Столбик = 2;
     
  12. Driver

    Driver Гость

    Нет Ребята там нужно было добавить одну строчку. Я выделил ее здесь жирным шрифтом.

    Если Столбик = 0 Тогда
    Таб.ВывестиСекцию("Товар|Ценник");
    Иначе
    Таб.ПрисоединитьСекцию("Товар|Ценник");
    Таб.ПрисоединитьСекцию("Товар|Ценник");

    КонецЕсли;
     
  13. Hryv

    Hryv Гость

    Driver, если сделать как ты, то второй и третий столбцы будут одинаковыми


    ты хотябы попробовал то, что я предложил?
     
  14. SaschaL

    SaschaL Гость

    Используй функцию, присоединить секцию, так будет проще, сам так сделал когда писал обработку по распечатке ценников для компьютерного магазина.
     
  15. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    ... и тем самым можно создать универсальную печать от двух до десяти ценников в ряд (спец. бумага для ценников и спец.принтеров бывает разной ширины)
     
  16. Hryv

    Hryv Гость

    может я чего-то не догоняю, но код приведенный в начале темы заточен под то, что КАЖДЫЙ ЦЕННИК РАЗНЫЙ
    добавляя ПрисоединитьСекцию будут иолучаться по НЕСКОЛЬКО ОДИНАКОВЫХ ЦЕННИКОВ (при этом первый будет отличаться от второго и остальных в этой строке )

    разве это корректное решение задачи?
     
  17. Driver

    Driver Гость

    Hryv ты был прав, а я просто копию столбика сделал, попробовал по твойму все получилось спосибо большое.
     
  18. Hryv

    Hryv Гость

    Незачто :)
     
Статус темы:
Закрыта.

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