• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Программирование прайс-листа

  • Автор темы Artem
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Artem

Ребята, подскажите пожайлусто как я могу добавить в прайс-лист колонку и артикулом товара и его происхождением (страна изготовитель)??
 
G

Guest

Раздвинь колонку "Название" в печатной форме прайса (дополнительно 2 колонки).
Добавь в соответствующие колонки 2 переменные, согласно соседним ячейкам
СокрЛП(Наименование):

1 колонка: СокрЛП(Артикул)
2 колонка: СокрЛП(Страна)

В модуле опиши их. Примерно в строке 447 - перед строкой:
ИсхТабл.ВывестиСекцию("Номенклатура|Название");

Артикул = ТекЭлем.Артикул;
Страна = ТекЭлем.СтранаПроисхождения;

Получится следующий код:

Наименование = ТекЭлем.ПолнНаименование + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(ТекЭлем.Артикул), "");
Артикул = ТекЭлем.Артикул;
Страна = ТекЭлем.СтранаПроисхождения;
ИсхТабл.ВывестиСекцию("Номенклатура|Название");
 
G

Guest

<!--QuoteBegin-Павел+15:08:2005, 12:07 -->
<span class="vbquote">(Павел @ 15:08:2005, 12:07 )</span><!--QuoteEBegin-->Раздвинь колонку "Название" в печатной форме прайса (дополнительно 2 колонки).
Добавь в соответствующие колонки 2 переменные, согласно соседним ячейкам
СокрЛП(Наименование):

1 колонка: СокрЛП(Артикул)
2 колонка: СокрЛП(Страна)

В модуле опиши их. Примерно в строке 447 - перед строкой:
ИсхТабл.ВывестиСекцию("Номенклатура|Название");

Артикул = ТекЭлем.Артикул;
Страна = ТекЭлем.СтранаПроисхождения;

Получится следующий код:

Наименование = ТекЭлем.ПолнНаименование + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(ТекЭлем.Артикул), "");
Артикул = ТекЭлем.Артикул;
Страна = ТекЭлем.СтранаПроисхождения;
ИсхТабл.ВывестиСекцию("Номенклатура|Название");
[snapback]23484" rel="nofollow" target="_blank[/snapback]​
[/quote]

посибочки - все получилось!
А если мне нужно будет добавить "Страна Происхождения" в печать ценника. там ведь нет переменной "ТекЭлем"
 
G

Guest

"----А если мне нужно будет добавить "Страна Происхождения" в печать ценника. там ведь нет переменной "ТекЭлем" ----"
:)
Действительно нет. Тебе придется передавать данный параметр из тех форм справочника, обработки, документа, где идет печать ценника.
Действуем на примере печати ценника из справочника номенклатуры:
0. Сохрани конфигурацию.
1. Открываем "ФормаСписка" справочника. Ищем процедуру
"ПечатьЦенника()"
2. Добавляем строку:
ТабТоваров.НоваяКолонка("ТекЭлем"); после
ТабТоваров = СоздатьОбъект("ТаблицаЗначений");
получится:
.........................
ТабТоваров = СоздатьОбъект("ТаблицаЗначений");
ТабТоваров.НоваяКолонка("ТекЭлем");
ТабТоваров.НоваяКолонка("Товар");
ТабТоваров.НоваяКолонка("Цена","Число");................
3. Здесь же найди процедуру "ДобавитьВтаблицу(Табл, Товар, Тип)"
4. Добавляем строку:
Табл.ТекЭлем= Товар.ТекущийЭлемент();
после Табл.НоваяСтрока();
получится:
............................
Табл.НоваяСтрока();
Табл.ТекЭлем= Товар.ТекущийЭлемент();
Табл.Товар = СокрЛП(Товар.ПолнНаименование) + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(Товар.Артикул), "");
Табл.Цена = ВремЦена;
..........................
5. Открываешь обработку "ПечатьЦенников". В процедуре
"Сформировать(ТаблицаТоваров,ПечФирма)"
добавляем
ДобавитьЦенник(Таб, ПечФирма, ТаблицаТоваров.Товар, ТаблицаТоваров.Единица, ПечРозн, Столбик, Ряд,ТаблицаТоваров.ТекЭлем);
вместо
ДобавитьЦенник(Таб, ПечФирма, ТаблицаТоваров.Товар, ТаблицаТоваров.Единица, ПечРозн, Столбик, Ряд);
6. Ищешь ДобавитьЦенник(....) и меняешь ее на
ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд, ТекЭлем)
вместо
ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд)
7. Далее в процедуре ДобавитьЦенник(...) пользуешся всеми реквизитами справочника Номенклатура через ТекЭлем.
Например, чтобы вывести страну:
СтранаПроисхождения = ТекЭлем.СтранаПроисхождения;
Получится:
...........................
Столбик = ?(Столбик = 0, 1 , 0 );
Ряд = ?(Столбик = 0, Ряд + 1, Ряд);
СтранаПроисхождения = ТекЭлем.СтранаПроисхождения;
............................
Далее"СтранаПроисхождения" выводишь в ценник.

И заработает, однако стоит повторить пункт 2,3,4 для тех мест, откуда идет печать ценников (Сделай глобальный поиск строки "ПечатьЦенника()" и увидишь, где нужно править код).
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!