Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 01:56
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Формирование ценников в три колонки  (Прочитано 1372 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tesla

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-14
  • Сайт: 
  • Профессия: Ученик 1С
ДОбрый день. Нуждаюсь в подсказке. Есть процедура формирования ценников в две колонки, а нужно в три. Насколько я понял, процедура отличается от оригинальной в начальной конфигурации.  И ещё: можно ли в 7.7 как-то указывать размеры полей отступа ? Настройки принтера не влияют почему-то. Спасибо.

Процедура ПечатьЦенников()
Перем ПеременнаяВторогоЦеннника;
ПеременнаяВторогоЦеннника=1;
Перечисление.ВидыКонтрагентов.Нерезидент Тогда
Таб=СоздатьОбъект("Таблица");
Если Число(Фирма.Код)=1 Тогда
Таб.ИсходнаяТаблица("Ценник"); 
Иначе
Таб.ИсходнаяТаблица("Ценник1"); 
КонецЕсли;

ВыбратьСтроки();
Пока  ПолучитьСтроку()=1 Цикл   
Если ПеременнаяВторогоЦеннника=1 Тогда
СпрТипЦен=СоздатьОбъект("Справочник.Цены");
СпрТипЦен.ИспользоватьВладельца(Товар);
СпрТипЦен.ВыбратьЭлементы();
Пока СпрТипЦен.ПолучитьЭлемент()=1 Цикл
Если Строка(СпрТипЦен.ТекущийЭлемент().КатегорияЦены)= "Розничная" Тогда
ПечРозн=Формат(СпрТипЦен.ТекущийЭлемент().Цена.Получить(ТекущаяДата()),"Ч.2")+" "+СпрТипЦен.ТекущийЭлемент().Валюта.Получить(РабочаяДата()).Кратко; 

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

СпрТипЦен=СоздатьОбъект("Справочник.Цены");
СпрТипЦен.ИспользоватьВладельца(Товар);
СпрТипЦен.ВыбратьЭлементы();

Пока СпрТипЦен.ПолучитьЭлемент()=1 Цикл
Если Строка(СпрТипЦен.ТекущийЭлемент().КатегорияЦены)= "Розничная" Тогда
ПечРозн=Формат(СпрТипЦен.ТекущийЭлемент().Цена.Получить(ТекущаяДата()),"Ч.2")+" "+СпрТипЦен.ТекущийЭлемент().Валюта.Получить(РабочаяДата()).Кратко; 
КонецЕсли;
КонецЦикла;
ПечНаименование=Товар;
ПечЕдиница=Единица;
Таб.ПрисоединитьСекцию("Товар|Ценник");
ПеременнаяВторогоЦеннника=1;
КонецЕсли;
КонецЦикла;
Таб.Опции(0,0,0,0,ПарСтрСпр);
Таб.Защита(Константа.ФлагЗащитыТаблиц);
Таб.ТолькоПросмотр(1);
Таб.Показать("Ценник товаров","");
ВыбТовар=0;
ПеременнаяВторогоЦеннника=0;
КонецПроцедуры // ПечатьЦенников()


Оффлайн Tesla

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-14
  • Сайт: 
  • Профессия: Ученик 1С
неужели настолько сложный код... :xfbnsdfb:

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
неужели настолько сложный код.

по отступам смотрите справку по методу ПараметрыСтраницы().

ну а по третьей колонке приблизительно так:

............

 СпрТипЦен=СоздатьОбъект("Справочник.Цены"); // лучше здесь создать объект, а не как у вас каждый раз // его в цикле создавать

 СчетчикКолонок = 3;

 ВыбратьСтроки()
 Пока ПолучитьСтроку()=1 Цикл   
   СпрТипЦен.ИспользоватьВладельца(Товар);
   СпрТипЦен.ВыбратьЭлементы();
   Пока СпрТипЦен.ПолучитьЭлемент()=1 Цикл
     Если Строка(СпрТипЦен.ТекущийЭлемент().КатегорияЦены)= "Розничная" Тогда
       ПечРозн=Формат(СпрТипЦен.ТекущийЭлемент().Цена.Получить(ТекущаяДата()),"Ч.2")+"   
       "+СпрТипЦен.ТекущийЭлемент().Валюта.Получить(РабочаяДата()).Кратко; 
     КонецЕсли;
   КонецЦикла;

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

   СчетчикКолонок = СчетчикКолонок + 1;
КонецЦикла;

..............


Оффлайн Tesla

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-14
  • Сайт: 
  • Профессия: Ученик 1С
спасибо за отзывчивость и помощь. Представляете, решил вчера сам заняться проблемой и в итоге по тому же принципу влепил третью колонку. Но ваш способ изящнее и экономнее :) спасибо :btbzdb:


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
170 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 163
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal