|
Печатная форма налоговой накладной | ☑ | ||
---|---|---|---|---|
0
Pomogite
08.02.12
✎
17:49
|
Добрый день! У меня возникла сложность никак не могу правильно поставить условие для цикла в процедуре печатной формы налоговой накладной.
// Выведем на печать все строки таблицы в раздел I Если ТаблицаНоменклатуры = Истина И ТаблицаПоУслугам = Ложь Тогда Для каждого СтрокаТаблицы Из ТаблицаНоменклатуры Цикл Если ЭтоПерваяСтрока Тогда // в первой строке раздела укажем номер раздела ОбластьМакета.Параметры.НомерРаздела = "I"; ЭтоПерваяСтрока = Ложь; Иначе ОбластьМакета.Параметры.НомерРаздела = ""; КонецЕсли; ОбластьМакета.Параметры.Заполнить(СтрокаТаблицы); Если ПечататьКодУКТВЭДБезПробелов Тогда ОбластьМакета.Параметры.КодУКТВЭД = СтрЗаменить(ОбластьМакета.Параметры.КодУКТВЭД, " ", ""); КонецЕсли; Если ЗначениеЗаполнено(СтрокаТаблицы.ТекстДляПечатиВКолонкеКоличество) Тогда ОбластьМакета.Параметры.Количество = СтрокаТаблицы.ТекстДляПечатиВКолонкеКоличество; КонецЕсли; // дата отгрузки/оплаты Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.ДатаОтгрузкиОплаты) Тогда // укажем дату выписки накладной ОбластьМакета.Параметры.ДатаОтгрузкиОплаты = Дата; КонецЕсли; Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.Номенклатура) И Страница = 1 Тогда Сообщить(НСтр("ru='В одной из строк не заполнено наименование номенклатуры - проверьте заполнение документа!';uk='В одному з рядків не заповнене найменування номенклатури - перевірте заповнення документа!'"), СтатусСообщения.Важное); КонецЕсли; ОбластьМакета.Параметры.Номенклатура = СокрП("" + СтрокаТаблицы.Номенклатура) + ?(НЕ ЗначениеЗаполнено(СтрокаТаблицы.Характеристика), "", "(" + СтрокаТаблицы.Характеристика +")"); ОбластьМакета.Параметры.Сумма20 = СимволДляПустыхПоказателей; //ОбластьМакета.Параметры.Сумма0Укр = СимволДляПустыхПоказателей; //ОбластьМакета.Параметры.Сумма0Эксп = СимволДляПустыхПоказателей; //ОбластьМакета.Параметры.СуммаБезНДС = СимволДляПустыхПоказателей; // Определим в какую колонку (в зависимости от ставки НДС) попадает сумма без НДС Колонка = "Сумма" + ОпределитьКолонкуТаблицы(СтрокаТаблицы.СтавкаНДС); ОбластьМакета.Параметры[Колонка] = ОбщегоНазначения.ФорматСумм(СтрокаТаблицы.Сумма, ,"0,00"); ТабДокумент.Вывести(ОбластьМакета); Если ТолькоФормироватьСтруктуруПоказателейПечатнойФормы = Истина И Страница = 1 Тогда СтрокаСтруктуры = СтруктураПоказателей.НалоговыйДокумент.R.Добавить(); СтрокаСтруктуры.G2D = ОбластьМакета.Параметры.ДатаОтгрузкиОплаты; СтрокаСтруктуры.G3S = ОбластьМакета.Параметры.Номенклатура+ОбластьМакета.Параметры.СодержаниеУслуг+ОбластьМакета.Параметры.Содержание; СтрокаСтруктуры.G3S = ОбластьМакета.Параметры.Номенклатура; СтрокаСтруктуры.G4 = ОбластьМакета.Параметры.КодУКТВЭД; СтрокаСтруктуры.G4S = ОбластьМакета.Параметры.ЕдиницаИзмерения; СтрокаСтруктуры.G5_ = ОбластьМакета.Параметры.Количество; СтрокаСтруктуры.G5 = ?(ЗначениеЗаполнено(СтрокаТаблицы.ТекстДляПечатиВКолонкеКоличество),0,ОбластьМакета.Параметры.Количество); СтрокаСтруктуры.G5S = ?(ЗначениеЗаполнено(СтрокаТаблицы.ТекстДляПечатиВКолонкеКоличество),СтрокаТаблицы.ТекстДляПечатиВКолонкеКоличество,""); СтрокаСтруктуры.G6 = ОбластьМакета.Параметры.ЦенаБезНДС; КолонкаДляСуммы = ОпределитьКолонкуТаблицы(СтрокаТаблицы.СтавкаНДС); Если КолонкаДляСуммы = "20" Тогда СтрокаСтруктуры.G7 = СтрокаТаблицы.Сумма; ИначеЕсли КолонкаДляСуммы = "0Укр" Тогда СтрокаСтруктуры.G8 = СтрокаТаблицы.Сумма; ИначеЕсли КолонкаДляСуммы = "0Эксп" Тогда СтрокаСтруктуры.G9 = СтрокаТаблицы.Сумма; ИначеЕсли КолонкаДляСуммы = "БезНДС" Тогда СтрокаСтруктуры.G10 = СтрокаТаблицы.Сумма; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; Если ТаблицаНоменклатуры = Ложь И ТаблицаПоУслугам = Истина Тогда Для каждого СтрокаТаблицы Из ТаблицаПоУслугам Цикл Если ЭтоПерваяСтрока Тогда // в первой строке раздела укажем номер раздела ОбластьМакета.Параметры.НомерРаздела = "I"; ЭтоПерваяСтрока = Ложь; Иначе ОбластьМакета.Параметры.НомерРаздела = ""; КонецЕсли; ОбластьМакета.Параметры.Заполнить(СтрокаТаблицы); Если ПечататьКодУКТВЭДБезПробелов Тогда ОбластьМакета.Параметры.КодУКТВЭД = СтрЗаменить(ОбластьМакета.Параметры.КодУКТВЭД, " ", ""); КонецЕсли; Если ЗначениеЗаполнено(СтрокаТаблицы.ТекстДляПечатиВКолонкеКоличество) Тогда ОбластьМакета.Параметры.Количество = СтрокаТаблицы.ТекстДляПечатиВКолонкеКоличество; КонецЕсли; // дата отгрузки/оплаты Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.ДатаОтгрузкиОплаты) Тогда // укажем дату выписки накладной ОбластьМакета.Параметры.ДатаОтгрузкиОплаты = Дата; КонецЕсли; Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.Номенклатура) И Страница = 1 Тогда Сообщить(НСтр("ru='В одной из строк не заполнено наименование номенклатуры - проверьте заполнение документа!';uk='В одному з рядків не заповнене найменування номенклатури - перевірте заповнення документа!'"), СтатусСообщения.Важное); КонецЕсли; ОбластьМакета.Параметры.Номенклатура = СтрокаТаблицы.Номенклатура; ОбластьМакета.Параметры.СодержаниеУслуг = СтрокаТаблицы.СодержаниеУслуг; ОбластьМакета.Параметры.Содержание = СтрокаТаблицы.Содержание; ОбластьМакета.Параметры.Сумма20 = СимволДляПустыхПоказателей; //ОбластьМакета.Параметры.Сумма0Укр = СимволДляПустыхПоказателей; //ОбластьМакета.Параметры.Сумма0Эксп = СимволДляПустыхПоказателей; //ОбластьМакета.Параметры.СуммаБезНДС = СимволДляПустыхПоказателей; ОбластьМакета.Параметры.ЦенаБезНДС = СтрокаТаблицы.Цена; //Определим в какую колонку (в зависимости от ставки НДС) попадает сумма без НДС Колонка = "Сумма" + ОпределитьКолонкуТаблицы(СтрокаТаблицы.СтавкаНДС); ОбластьМакета.Параметры[Колонка] = ОбщегоНазначения.ФорматСумм(СтрокаТаблицы.Сумма, ,"0,00"); ТабДокумент.Вывести(ОбластьМакета); Если ТолькоФормироватьСтруктуруПоказателейПечатнойФормы = Истина И Страница = 1 Тогда СтрокаСтруктуры = СтруктураПоказателей.НалоговыйДокумент.R.Добавить(); СтрокаСтруктуры.G2D = ОбластьМакета.Параметры.ДатаОтгрузкиОплаты; СтрокаСтруктуры.G3S = ОбластьМакета.Параметры.Номенклатура+ОбластьМакета.Параметры.СодержаниеУслуг+ОбластьМакета.Параметры.Содержание; СтрокаСтруктуры.G3S = ОбластьМакета.Параметры.Номенклатура; СтрокаСтруктуры.G4 = ОбластьМакета.Параметры.КодУКТВЭД; СтрокаСтруктуры.G4S = ОбластьМакета.Параметры.ЕдиницаИзмерения; СтрокаСтруктуры.G5_ = ОбластьМакета.Параметры.Количество; СтрокаСтруктуры.G5 = ?(ЗначениеЗаполнено(СтрокаТаблицы.ТекстДляПечатиВКолонкеКоличество),0,ОбластьМакета.Параметры.Количество); СтрокаСтруктуры.G5S = ?(ЗначениеЗаполнено(СтрокаТаблицы.ТекстДляПечатиВКолонкеКоличество),СтрокаТаблицы.ТекстДляПечатиВКолонкеКоличество,""); СтрокаСтруктуры.G6 = ОбластьМакета.Параметры.ЦенаБезНДС; КолонкаДляСуммы = ОпределитьКолонкуТаблицы(СтрокаТаблицы.СтавкаНДС); Если КолонкаДляСуммы = "20" Тогда СтрокаСтруктуры.G7 = СтрокаТаблицы.Сумма; ИначеЕсли КолонкаДляСуммы = "0Укр" Тогда СтрокаСтруктуры.G8 = СтрокаТаблицы.Сумма; ИначеЕсли КолонкаДляСуммы = "0Эксп" Тогда СтрокаСтруктуры.G9 = СтрокаТаблицы.Сумма; ИначеЕсли КолонкаДляСуммы = "БезНДС" Тогда СтрокаСтруктуры.G10 = СтрокаТаблицы.Сумма; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; |
|||
1
Pomogite
08.02.12
✎
17:51
|
Условие не подходит
Если ТаблицаНоменклатуры = Истина И ТаблицаПоУслугам = Ложь Тогда |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |