Имя: Пароль:
1C
1C 7.7
v7: Помогите с выводом на печать гарантийного талона ТИС 9.2
,
0 expert65
 
27.02.13
17:23
В программировании 1с я новичок, но жизнь заставила. Создал печатную форму гарантийного талона, за основу брал sale.ert В итоге из документа реализация заполняется печатная форма, но столкнулся с одной проблемой, что если в реализации имеется одна позиция в количестве нескольких штук,то нужно в печатную форму вывести эти позиции каждую в отдельную строку, что бы ввести на них серийные номера. Что для этого нужно прописать в строке товара? Сейчас там это - СокрЛП(Докум.Номенклатура.ПолнНаименование) + ?(Константа.ПоказыватьАртикул = 1, " " + СокрЛП(Докум.Номенклатура.Артикул), "")
1 DGorgoN
 
27.02.13
17:26
Жизнь заставила говоришь? Ну учись..
Ты не с того конца начинаешь - у тебя код отчета выводит строку!
2 miki
 
27.02.13
17:27
Изменением "прописать в строке товара" не обойдешься. Надо переписывать алгоритм вывода в макет. Там простой цикл по строкам дока (или по строкам ТЗ из ТЧ дока), а тебе надо сделать анализ, что если кол-во>1, то ВывестиСекцию кол-во раз.
3 miki
 
27.02.13
17:33
Даже проще: найди в цикле ".ВывестиСекцию(<...>" и добавь
Для а=1 По Количество Цикл
  <...>.ВывестиСекцию(<...>
КонецЦикла;
4 expert65
 
28.02.13
10:33
Вот исходный алгоритм -
       // выводим табличную часть
   НомСтроки = 0;
   Докум.ВыбратьСтроки();
   
   Пока Докум.ПолучитьСтроку() = 1 Цикл
       НомСтроки = НомСтроки + 1;
       ИсхТабл.ВывестиСекцию("Строка");
   КонецЦикла;
Если несложно, можно показать куда точно добавить процедуру? Видимо я не туда добавляю...
5 Nandarou
 
28.02.13
10:44
(0) Если серийные номер нужно выводить там же где и наименование, то в после "СокрЛП(Докум.Номенклатура.Артикул)" ставишь плюс и аналогично пишешь откуда брать серийник.

Только где в Тис серийник хранится? В стандартной Тис такого нет.
6 expert65
 
28.02.13
10:51
да серийные номера пока будем вводить вручную или со сканера в отдельную ячейку таблицы, пока не удалось решить задачу с отображением каждой отдельной позиции товара в новой строке печатной формы...
7 Nandarou
 
28.02.13
10:53
(6) ячейку чего? документа? печатной формы?
8 expert65
 
28.02.13
10:53
печатной формы
9 expert65
 
28.02.13
10:58
в дальнейшем конечно буду что то более удобное придумывать, что бы и гарантийники хранились в базе в виде документов, и еще справочник гарантийных сроков с привязкой к группе номенклатуры .... просто гарантийники нужны срочно, а знаний пока нет ...(
10 Nandarou
 
28.02.13
10:59
многие печатные формы печатают на основе подготовленных данных. тогда даже если задать три строки товара с одинаковыми ценами и тд. она их свернет скорее всего.

но если там перебор как в 4 то такого не должно быть.
11 expert65
 
28.02.13
11:03
в таблице печатной формы гарантийника цен нет, наименование - серийный номер, гарантийный срок и все...
12 Nandarou
 
28.02.13
11:07
выкладывай на http://zalil.ru/ наработку
взгляну быстренько. тис есть под рукой.
13 expert65
 
28.02.13
11:17
выложил... Спасибо!
http://zalil.ru/34302413
14 Nandarou
 
28.02.13
11:39
документ после добавления строк сохранялся?
сохраниться документ. закрыть печатную форму. все попытаться напечатать еще раз.

http://zalil.ru/34302467
15 expert65
 
28.02.13
11:45
получилось ))) вот с таки алгоритмом -
   НомСтроки = 0;
   Докум.ВыбратьСтроки();
   
   Пока Докум.ПолучитьСтроку() = 1 Цикл
       НомСтроки = НомСтроки + 1;
       Для а=1 По Докум.Количество Цикл
                ИсхТабл.ВывестиСекцию("Строка");
       КонецЦикла;
   КонецЦикла;