метод ВЫВЕСТИ/ПРИСОЕДИНИТЬ табличный документ розница 8,3

1. user_123 08.02.21 19:14 Сейчас в теме
ВЫВОД ЦЕННИКОВ НА ПЕЧАТЬ
ДВ,насколько я понимаю,сначала выводим область методом
вывести("область")
,затем если хотим чтобы они выводились не вразброс а друг за другом,нужно воспользоваться методом
присоединить("область")
,причем у этой области начальными координатами выступают координаты,по которым была выведена в последний раз область через метод
вывести
. короче если это так,а это так,значит не пойму почему у меня такая картина как на рисунке

код

пТаблицаПечати.Очистить();	
	пТаблицаПечати.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЦЕННИК";

пШаблонЦенника = Справочники.ХранилищеШаблонов.НайтиПоНаименованию("шаблонценника").Шаблон.Получить("имя_области");
		пОбластьЗначение = пШаблонЦенника.РедакторТабличныйДокумент.ПолучитьОбласть();				;
		пКолВертикаль = пШаблонЦенника.КоличествоПоВертикали;//кол ценников по вертикали
		пКолгоризонталь = пШаблонЦенника.КоличествоПоГоризонтали;//кол ценников по горизонтали		
		пИнкГор = 0;	
		Для Каждого пСтрокаИзСписка Из пТаблицаЗначений Цикл	
Справочники.ХранилищеШаблонов.НайтиПоНаименованию("шаблонценника").Шаблон.Получить(); пОбластьЗначение = пШаблонЦенника.РедакторТабличныйДокумент.ПолучитьОбласть("имя_области");
пИнкГор = пИнкГор + 1; пОбластьЗначение.Параметры.Номенклатура = "чтото"; //выводим первый ценник в новой строке если пИнкГор = 1 или пИнкГор > пКолгоризонталь тогда пТаблицаПечати.Вывести(пОбластьЗначение); если пИнкГор > пКолгоризонталь тогда пИнкГор = 0; КонецЕсли; //выводим все последующие ценники в строке Иначе пТаблицаПечати.Присоединить(пОбластьЗначение); КонецЕсли; КонецЦикла;
Показать

это уже измененный код -РАБОЧИЙ...объясню суть для начинающих типа меня:обязательно задайте область для ценника в редакторе ценников конфигуратора,и каждый раз (если пользуетесь циклом) обновляйте ссылку на область
Прикрепленные файлы:
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. spacecraft 08.02.21 19:55 Сейчас в теме
(1) платформа 8.3.18 ?
Проверить на другой попробовать.
7. user_123 08.02.21 19:56 Сейчас в теме
(6)1С:Предприятие 8.3 (8.3.17.1496)
8. user_123 08.02.21 21:10 Сейчас в теме
(1)етишкин дрын я это сделаааал
2. DanDy 55 08.02.21 19:36 Сейчас в теме
Для начала давайте исправим ошибки в алгоритме.

По вашему получается что когда пИнкГор станет больше пКолгоризонталь
то вы в пИнкГор пишите 1
но при следующей итерации сразу происходит пИнкГор = пИнкГор + 1;
то есть станет пИнкГор = 2
и поэтому в ветку пИнкГор = 1 вы попадаете ровно 1 раз.

Попробуйте сперва исправить это
4. user_123 08.02.21 19:41 Сейчас в теме
(2)да я знаю,это на скорую руку писал,поэтому можно проигнорировать,здесь суть в чем...главное верно чередовать методы
вывести
и
присоединить
...они чередуются верно,но выводится не верно,почему при вызове метода
присоединить
сразу же после метода
вывести
новая строка выводится ниже,а не стой же строки,куда вывел метод
вывести
3. DanDy 55 08.02.21 19:38 Сейчас в теме
А вижу. У вас немного странный алгоритм))) К вечеру глаз замылился.
5. user_123 08.02.21 19:50 Сейчас в теме
(3)от переделки алгоритма результат не поменялся))где алхимия,почему не работает брат?))у меня за сутки разбирательств по этой теме голова замылилась не то что глаз
9. DanDy 55 09.02.21 08:39 Сейчас в теме
(5)У меня вот так летает всё как надо
Процедура КнопкаВыполнитьНажатие(Кнопка)
	Макет = ПолучитьМакет("Макет");
	ОблЦ = Макет.ПолучитьОбласть("Ценник");
	ТабДок = Новый ТабличныйДокумент;
	С = 1;
	Для к = 1 по КоличествоВсего цикл
		Если с =1 тогда
			ТабДок.Вывести(ОблЦ);
		Иначе
			ТабДок.Присоединить(ОблЦ);
		КонецЕсли;
		Если с>=КоличествоВСтроке тогда
			с = 1;
		Иначе
			с = с + 1;
		КонецЕсли;
	КонецЦикла;
	ТабДок.Показать();
КонецПроцедуры
Показать
Прикрепленные файлы:
ПечатьВСтроки.epf
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот