Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Pimachka
0 / 0 / 0
Регистрация: 26.02.2014
Сообщений: 1
1

Печатная форма!

01.03.2014, 13:09. Просмотров 348. Ответов 0
Метки нет (Все метки)

Здравствуйте! Подскажите пожалуйста, как сделать чтобы в печатной форме товар с одинаковым названием и с кодом выводился один под одним т.к. один со скидкой, а второй без(По требованию скидка дается на количество) , а остальной товар строкой продолжал присоединяться с права?
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
Перем тзитого;
//********************************************
Процедура ЗаполнитьТаблицуВсего(ТзДок) 
   ТзДок.ВыбратьСтроки();
   Пока ТзДок.ПолучитьСтроку()=1 цикл
      тзитого.НоваяСтрока();
      тзитого.Товар = Тздок.Товар;
      тзитого.Количество =Тздок.Количество; 
      тзитого.КоличествоФикс=ТзДок.КоличествоФикс;
      тзитого.КоличествоЛьгота=ТзДок.количествоЛьгота;
      тзитого.Сумма = ТзДок.Сумма;
      тзитого.Наценка = ТзДок.наценка ;
      тзитого.РазницаПоФикс = ТзДок.РазницаПоФикс;
      тзитого.РазницаЛьгота = ТзДок.РазницаЛьгота;
      тзитого.НДС = Тздок.ндс;
      тзитого.СуммаВсего = тздок.СуммаВсего; 
      тзитого.СуммаПоФикс = ТзДок.СуммаФикс;
      тзитого.СуммаПоЛьготе= ТзДок.СуммаПоЛьготе ;
   КонецЦикла;
КонецПроцедуры   // ЗаполнитьТаблицуВсего(ТзДокумента) 
 
 //*******************************************
Процедура Сформировать() 
   Перем Стр,Колонка;
   Табл=СоздатьОбъект("Таблица");
   Табл.ИсходнаяТаблица("Таблица");
   Табл.ВывестиСекцию("ШапкаЗаголовок");
   Запрос=СоздатьОбъект("Запрос");
   ТекстЗапроса = 
   "//{{ЗАПРОС(Накладные)
   |Период с НачДата по КонДата;
   |Обрабатывать НеПомеченныеНаУдаление;
   |ОбрабатыватьДокументы Проведенные;
   |РознНакл = Документ.НакладнаяРозничная.ТекущийДокумент;
   |Товар = Документ.НакладнаяРозничная.Товар;  
   |Город=Документ.НакладнаяРозничная.Город;
   |Район=Документ.НакладнаяРозничная.Район;
   |Организация=Документ.НакладнаяРозничная.Безнал ;
   
   |ААА= Документ.НакладнаяРозничная.ААА;
//   |Цена = Документ.Накладная.Цена;
   |ВсегоПоДокументу= Документ.НакладнаяРозничная.СуммаВсего;
//   |УчетнаяЦена = Документ.Накладная.УчетнаяЦена;
//   |СтавкаНДС = Документ.Накладная.СтавкаНДС;
//   |СтавкаНДСспр = Документ.Накладная.СтавкаНДСспр;
//   |НДС = Документ.Накладная.НДС;
//   |СуммаСНДС = Документ.Накладная.СуммаСНДС;
//   |НДСдоб = Документ.Накладная.НДСдоб; 
//   |Комитент = Документ.Накладная.Комитент; 
//   |Условие((Покупатель=ВыбКонтрагент) И (ВидОтгрузки<3) И (Количество<>0)); 
//  |Условие(ААА = Перечисление.ТипыНоменклатуры.Товар); 
   |Группировка РознНакл;
   |Группировка СтрокаДокумента;
   |Группировка Товар; 
   |Функция Всего = Сумма (ВсегоПоДокументу); 
   
   |"//}}ЗАПРОС
   ;   
   // Если ошибка в запросе, то выход из процедуры
   Если Город=1 Тогда
      ТекстЗапроса=ТекстЗапроса+" 
         |Условие(Город=1);"
   КонецЕсли; 
   Если Район=1 Тогда
      ТекстЗапроса=ТекстЗапроса+" 
         |Условие(Район=1);"
   КонецЕсли; 
   Если Организации=1 Тогда
      ТекстЗапроса=ТекстЗапроса+" 
         |Условие(Организация=1);"
   КонецЕсли;   
   
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
      Возврат;
   КонецЕсли;
   
//   ИтогоПоФикс=0;
   
    КоличествоТоваров=СоздатьОбъект("ТаблицаЗначений");
   Запрос.Выгрузить(КоличествоТоваров,"Товар"); 
//   КоличествоТоваров.Свернуть("Товар","Товар");//сейчас в количество товаров все товары по розничным накладным
   КоличествоТоваров.ВыбратьСтроки(); 
   Табл.ВывестиСекцию("Секция_4|ШапкаВертикаль");
   Пока КоличествоТоваров.ПолучитьСтроку()=1 Цикл 
      Если ПустоеЗначение(КоличествоТоваров.Товар)=1 Тогда
         Продолжить;
      КонецЕсли;
      Товар=КоличествоТоваров.Товар;
      Табл.ПрисоединитьСекцию("Секция_4|Секция_Товары");
   КонецЦикла;
    Табл.ПрисоединитьСекцию("Секция_4|Итого");
   //__________________________________________
   ТЗИтого=СоздатьОбъект("ТаблицаЗначений");
   ТЗИтого.НоваяКолонка("Товар");
   ТЗИтого.НоваяКолонка("Количество");
   тзитого.НоваяКолонка("КоличествоФикс");
   тзитого.НоваяКолонка("КоличествоЛьгота");
   ТЗИтого.НоваяКолонка("Сумма"); 
   ТЗИтого.НоваяКолонка("СуммаПоФикс");
   тзитого.НоваяКолонка("СуммаПоЛьготе");
   ТЗИтого.НоваяКолонка("Наценка");
   тзитого.НоваяКолонка("РазницаПоФикс");
   тзитого.НоваяКолонка("РазницаЛьгота");
   ТЗИтого.НоваяКолонка("НДС");
   ТЗИтого.НоваяКолонка("СуммаВсего");
   //__________________________________________
   Пока Запрос.Группировка(1) = 1 Цикл 
      Накладная=Запрос.РознНакл;
      ПечВариантОтгр = ?(Накладная.ЧастнЛицо=1,"Ч/лицо","Б/нал.");
      Расшифровка=Запрос.РознНакл;
      Табл.ВывестиСекцию("Строка1|ШапкаВертикаль"); 
      
      //____________________________________
      ТзДокумента=СоздатьОбъект("ТаблицаЗначений");
      Накладная.ВыгрузитьТабличнуюЧасть(ТзДокумента);
//      ТзДокумента.Свернуть("Цена,ФиксЦена,Товар","Количество,КоличествоФикс,КоличествоЛьгота,НДС,Сумма,Наценка,РазницаПоФикс,РазницаЛьгота,СуммаВсего,СуммаФикс,СуммаПоЛьготе");//,ПроцНаценки"); 
      
      ЗаполнитьТаблицуВсего(ТзДокумента);
      КоличествоТоваров.ВыбратьСтроки();
      Пока КоличествоТоваров.ПолучитьСтроку() = 1 Цикл    
         Если ПустоеЗначение(КоличествоТоваров.Товар)=1 Тогда
            Продолжить;
         КонецЕсли; 
         Стр=0;Колонка=0;
         Найден=ТзДокумента.НайтиЗначение(КоличествоТоваров.Товар,Стр,Колонка);
         Если (Найден = 1)  Тогда 
            ТзДокумента.ПолучитьСтрокуПоНомеру(Стр);
            ПечКолво=ТзДокумента.ПолучитьЗначение(Стр,"Количество"); //1 
            ПечКолвоФикс = ТзДокумента.ПолучитьЗначение(стр,"КоличествоФикс");//2
            ПечКолвоЛьгота = ТзДокумента.ПолучитьЗначение(Стр,"КоличествоЛьгота");//3
            Если ОптИзСпр = 1 Тогда
               ПечЦена = ТзДокумента.Товар.ПервыйИмпортер;
            Иначе
               ПечЦена = ТзДокумента.ПолучитьЗначение(Стр,"Цена");      //4
            КонецЕсли;
            ПечОптСумма = ТзДокумента.получитьЗначение(Стр,"Сумма"); //5
            ПечФиксЦена = ТзДокумента.ПолучитьЗначение(Стр,"ФиксЦена");//6
            ПечСумма = ТзДокумента.ПолучитьЗначение(Стр,"Сумма");      //7
               ПечСуммаФикс = ТзДокумента.ПолучитьЗначение(Стр,"СуммаФикс");//8
            ПечСуммаЛьгота = ТзДокумента.ПолучитьЗначение(Стр,"СуммаПоЛьготе");//9
//            ПечПроцНац = ТзДокумента.ПолучитьЗначение(Стр,"ПроцНаценки");//10
            ПечНаценка = ТзДокумента.ПолучитьЗначение(Стр,"Наценка");    //11
            ПечНаценкаФикс = ТзДокумента.ПолучитьЗначение(стр,"РазницаПоФикс");//12
            ПечНаценкаЛьгота = ТзДокумента.ПолучитьЗначение(стр,"РазницаЛьгота");//13
            ПечСуммаВсего = ТзДокумента.ПолучитьЗначение(Стр,"СуммаВсего");//14
            ПечНДС = ТзДокумента.ПолучитьЗначение(Стр,"НДС"); //15
               
   
             Табл.ПрисоединитьСекцию("Строка1|Секция_Товары");
 
 
//            Табл.ПрисоединитьСекцию("Строка1|Секция_Товары");
            Иначе
            ПечКолво="--";ПечФиксЦена = "--";ПечСумма = "--";ПечПроцНац = "--";ПечСуммаВсего ="--";ПечЦена = "--";ПечНДС = "--";
            ПечНаценка= "--";
            ПечОптСумма ="--"; 
            ПечСуммаФикс = "--";
            ПечСуммаЛьгота = "--";
            ПечКолвоЛьгота = "--";ПечКолвоФикс="--";ПечНаценкаФикс="--";ПечНаценкаЛьгота="--";
            Табл.ПрисоединитьСекцию("Строка1|Секция_Товары");
         
         КонецЕсли;
      КонецЦикла;
      Итого=ТзДокумента.Итог("СуммаВсего");
      ПечИтого=Итого;
      Табл.ПрисоединитьСекцию("Строка1|итого"); 
      ТзДокумента.Очистить();
   КонецЦикла;
   //___________________________________________________ 
   ПечИтогоИтого = Запрос.Всего;
   Табл.ВывестиСекцию("СтрокаИтого|ШапкаВертикаль");
//   тзитого.Свернуть("Товар","Количество,КоличествоФикс,КоличествоЛьгота,Сумма,НДС,Наценка,РазницаПоФикс,РазницаЛьгота,СуммаВсего,СуммаПоФикс,СуммаПоЛьготе");
   КоличествоТоваров.ВыбратьСтроки();
      Пока КоличествоТоваров.ПолучитьСтроку() = 1 Цикл 
         Если ПустоеЗначение(КоличествоТоваров.Товар)=1 Тогда
            Продолжить;
         КонецЕсли; 
         Стр=0;Колонка=0;
         Найден=ТЗИтого.НайтиЗначение(КоличествоТоваров.Товар,Стр,Колонка);
         Если Найден = 1 Тогда 
            ТЗИтого.ПолучитьСтрокуПоНомеру(Стр);
            ПечИтогоКолво = ТЗИтого.ПолучитьЗначение(Стр,"Количество"); 
            ПечИтогоКолвофикс =ТЗитого.ПолучитьЗначение(стр,"КоличествоФикс");
            ПечИтогоКолвоЛьгота= тзитого.ПолучитьЗначение(стр,"КоличествоЛьгота");
            ПечИтогоСуммаОпт = ТЗИтого.ПолучитьЗначение(стр,"Сумма");
            ПечИтогоСумма = ТЗИтого.ПолучитьЗначение(стр,"Сумма"); 
            ПечИтогоСуммаФикс = тзитого.ПолучитьЗначение(стр,"СуммаПоФикс");
            ПечИтогоСуммаЛьгота = тзитого.ПолучитьЗначение(стр,"СуммаПоЛьготе");
            ПечИтогоНаценка = ТЗИтого.ПолучитьЗначение(стр,"Наценка");
            ПечИтогоНаценкаФикс = тзитого.ПолучитьЗначение(стр,"РазницаПоФикс");
            ПечИтогоНаценкаЛьгота = тзитого.ПолучитьЗначение(стр,"РазницаЛьгота");
            ПечИтогоНДС = ТЗИтого.ПолучитьЗначение(стр,"НДС"); 
            ПечИтогоСуммаСНДС = ТЗИтого.ПолучитьЗначение(стр,"СуммаВсего");
            Табл.ПрисоединитьСекцию("СтрокаИтого|Секция_Товары");
         Иначе 
            ПечИтогоКолво = "--";
            ПечИтогоСумма = "--";
            ПечИтогоСуммаОпт = "--";
            ПечИтогоНаценка = "--";
            ПечИтогоНДС = "--"; 
            ПечИтогоСуммаСНДС = "--";
            ПечИтогоСуммаФикс = "--";
            ПечИтогоСуммаЛьгота = "--"; 
            ПечИтогоКолвофикс= "--";
            ПечИтогоКолвоЛьгота= "--";
            ПечИтогоНаценкаФикс = "--";
            ПечИтогоНаценкаЛьгота = "--";
            
            Табл.ПрисоединитьСекцию("СтрокаИтого|Секция_Товары");
         КонецЕсли;
      КонецЦикла;  
      Табл.ПрисоединитьСекцию("СтрокаИтого|Итого");
   //__________________________________________________________________________
   Табл.Опции(0,0,5);
   Табл.ТолькоПросмотр(1);
   Табл.Показать();
   
КонецПроцедуры
//*******************************************************
Процедура приоткрытии()
   Если ПустоеЗначение(НачДата)=1 Тогда
      НачДата=НачМесяца(РабочаяДата());
      КонДата=КонМесяца(НачДата);
   КонецЕсли;
КонецПроцедуры   // приоткрытии
0
Миниатюры
Печатная форма!  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2014, 13:09
Ответы с готовыми решениями:

Печатная форма в ексель
Такая проблема, при &quot;Сохранить Как...&quot; в формате ячейки екселя дата не записывается в ексель...

Внешняя печатная форма
Добрый день! Подскажите, пожалуйста, как сделать внешнюю печатную форму для макета...

Печатная форма с условием
Подскажите с чего начать чтобы создать печатную форму с таким условием: Документ Приходная...

Не работает внешняя печатная форма
Здравствуйте! Делаю внешнюю печатную форму для документа &quot;Разовые начисления организаций&quot;. ...

Печатная форма для регистра сведений
Здравствуйте. Есть необходимость печатать из отдельно взятых записей в регистре сведений. Т.е. как...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2014, 13:09

Внешняя печатная форма ценников. ЗАПРОСЫ
День добрый. Я начинающий программист. Есть задача, но знаний не хватает. Прошу помощи. Есть...

Печатная форма доп.соглашения ЗУП 2.5
Всем доброго времени суток. Имею обработку внешнюю, которая вызывает для документа Кадровое...

Печатная форма, Где взять дату?
Всем привет. ЗУП 2,5. Имею внешнюю печатную форму трудового договора. Есть кусок кода... Процедура...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru