Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Добавление данных из другой таблички в price_card_example.frx : Супермаг Плюс (Супермаг 2000)

29.03.2024 12:04


27.10.2014 12:28
svtl
 
может, выложите как-то сам фастовский файл?
27.10.2014 15:47
[+kliN+]
 
не могу решить проблему.
выявил следующую закономерность. подкладываю вместо этого шаблона другой, рабочий, с таким же именем, печатаю ценник, все хорошо.
меняю обратно на свой файл, первый раз ценник печатает правильно, но если попробовать напечатать ценник для другой карточки товара, то на предварительном просмотре все-равно появляется предыдущая карточка. какие бы карточки я не печатал, появляется все-равно первая напечатанная карточка. Помогите пожалуйста, один не справлюсь
27.10.2014 16:16
akonev
 
я с этой форматкой получаю очень стабильный, всегда одинаковый результат: чистый лист.
27.10.2014 17:00
svtl
 
а у меня одна конкретная карточка отображается. что бы я не выбрала в классификаторе :( Причем та на которой я ценник в режиме просмотра запускала.
и я пока не вижу в чем проблема
27.10.2014 21:14
akonev
 
так. если всегда только одна карточка - это значит не выполняется код.

в окошке "свойства" сверху есть выпадающий список. там выбираем report.
в свойствах построения (там других и нету) для startreport из выпадающего списка выбрать _StartReport
27.10.2014 21:39
akonev
 
что касается отладки ценников и отчетов на фасте в целом.
обычно более гибкие штуки получается писать, если в источнике данных указать не настоящий запрос данных, а "заглушку" которая совпадает по именам и типам полей.

в данном конкретном случае, вместо
было:
Код:
SELECT t.ARTICLE, t.NAME, t.COUNTRY,
 t.RUBSUM||' р. '||t.KOPSUM||' коп.' PRICE, 
 t.BARCODE, t.QTYPRINT, 
decode(t.PLU,null,'','Весы: '||t.PLU) PLU,
(select supermag.russianspell.PriceCardString(0,p.SavedPrice)||' р. '||supermag.russianspell.PriceCardString(2,p.SavedPrice)||' коп.'
FROM supermag.SMPrices p
where p.Article=t.Article 
and p.StoreLoc=:pLoc
and p.PriceType=:pPriceType
and p.SavedPrice is not null) OldPrice
FROM SUPERMAG.SVPRICECARD t
order by 1

посадить
стало:
Код:
SELECT
  '011733' ARTICLE,
  'Лук зеленый 100гр.' NAME, 
  'Страна' COUNTRY,
  '2222.22' PRICE, 
  '4607160760025' BARCODE, 
  '100гр.' QTYPRINT, 
  'Весы: 001' PLU,
  '1111.11' OldPrice
FROM dual

с такой штукой уже можно проверять запуск и рисовать печатную форму.

отдельно на страничке кода делать запрос. После заполнения временных таблиц добавить замену и выполнение запроса для источника данных.
Сначала воткнуть ту же самую "заглушку":
Код:
      // заполнение временных таблиц данными для ценников
      RepOracleRunner.ExecuteProcedure(host.Connection,"Supermag.russianspell.LoadPriceCard", 
        Report.GetParameterValue("P_COPIES"),
        Report.GetParameterValue("P_ARTICLE"),
        "",
        Report.GetParameterValue("P_DOC_TYPE"),
        Report.GetParameterValue("P_DOC_ID"),
        Report.GetParameterValue("P_LOC"),
        Report.GetParameterValue("P_PRICE_TYPE"),
        Report.GetParameterValue("P_NAME"),
        Report.GetParameterValue("P_QTY"),
        Report.GetParameterValue("P_TYPE"),
        
        1, // печать штрихового кода артикула штрихами (0 - печать ШК цифрами, -1 - без печати ШК)
        1  // печать в ценнике кол-ва артикула, за которое выводится цена
        ); 
      
      string sSQL = SqlFormat("SELECT "+
      "'011713' ARTICLE, "+
      "'Лук зеленый 100гр.' NAME, "+
      "'Страна' COUNTRY, "+
      "'2222.22' PRICE ,"+
      "'4607160760025' BARCODE, "+
      "'100гр.' QTYPRINT, "+
      "'Весы: 001' PLU, "+
      "'1111.11' OldPrice "+
      "FROM dual"
      );
      
      host.TableDataSourcePreInit("PriceCard", sSQL); 
    }
    
    
  }
}

И дальше потихоньку на этот скелет натягивать "мясо":
появился настоящий источник SVPriceCard и поле артикула:
Код:
     string sSQL = SqlFormat("SELECT "+
      "v.ARTICLE, "+
      "'Лук зеленый 100гр.' NAME, "+
      "'Страна' COUNTRY, "+
      "'2222.22' PRICE ,"+
      "'4607160760025' BARCODE, "+
      "'100гр.' QTYPRINT, "+
      "'Весы: 001' PLU, "+
      "'1111.11' OldPrice "+
      "FROM supermag.SVPriceCard v"
      );

после каждого изменения можно сохранять и сразу проверять в супермаге результат. получается очень наглядно.
27.10.2014 22:00
akonev
 
чтобы заработал тот вариант что выложили - это всё не нужно. он сам по себе рабочий.
достаточно включить _StartReport в окошке свойств

да!!! под выпадающим списком наверху окошка свойств, где будете выбирать "report" - есть четыре кнопочки. надо нажать ту, что с молнией. а то можно очень долго искать, где же тут код на события назначается.
28.10.2014 01:06
svtl
 
Цитата:
akonev что касается отладки ценников и отчетов на фасте в целом.
обычно более гибкие штуки получается писать, если в источнике данных указать не настоящий запрос данных, а "заглушку" которая совпадает по именам и типам полей.
я так обычно и делаю. и удобнее, и в плане доработок проще намного
Часовой пояс GMT +3, время: 12:04.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.