|
Почему генерирует один и тотже штрихкод в табличную часть. | ☑ | ||
---|---|---|---|---|
0
максим_38
22.07.13
✎
05:38
|
Когда вывожу документ в поле ШтрихКода подставляет одно и тоже ко всем позициям, подскажите как исправить.
Перем мВалютаРегламентированногоУчета Экспорт; Функция ПечатьДокумента(СуммыВРублях = Ложь) Экспорт Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата, | РеализацияТоваровУслуг.ДоговорКонтрагента, | РеализацияТоваровУслуг.Контрагент КАК Получатель, | РеализацияТоваровУслуг.Организация, | РеализацияТоваровУслуг.Организация КАК Поставщик, | РеализацияТоваровУслуг.СуммаДокумента, | РеализацияТоваровУслуг.ВалютаДокумента, | РеализацияТоваровУслуг.УчитыватьНДС, | РеализацияТоваровУслуг.СуммаВключаетНДС, | РеализацияТоваровУслуг.ОтпускПроизвел, | РеализацияТоваровУслуг.КурсВзаиморасчетов, | РеализацияТоваровУслуг.КратностьВзаиморасчетов |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ТекстКурс = ""; СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг"); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапросПоТоварам.Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | ВложенныйЗапросПоТоварам.Номенклатура.Код КАК Код, | ВложенныйЗапросПоТоварам.Номенклатура.Артикул КАК Артикул, | ВложенныйЗапросПоТоварам.Количество, | ВложенныйЗапросПоТоварам.КоличествоМест, | ВложенныйЗапросПоТоварам.ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ВложенныйЗапросПоТоварам.ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | ВложенныйЗапросПоТоварам.Цена, | ВложенныйЗапросПоТоварам.Сумма, | ВложенныйЗапросПоТоварам.СуммаНДС, | ВложенныйЗапросПоТоварам.ПроцентСкидкиНаценки КАК Скидка, | ВложенныйЗапросПоТоварам.ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ВложенныйЗапросПоТоварам.ХарактеристикаНоменклатуры КАК Характеристика, | ВложенныйЗапросПоТоварам.СтранаПроисхождения КАК СтранаПроисхождения, | ВложенныйЗапросПоТоварам.НомерГТД КАК НомерГТД, | ВложенныйЗапросПоТоварам.СерияНоменклатуры КАК Серия, | ВложенныйЗапросПоТоварам.НомерСтроки КАК НомерСтроки, | ВложенныйЗапросПоТоварам.Метка КАК Метка |ИЗ | (ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура КАК Номенклатура, | РеализацияТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | РеализацияТоваровУслуг.Цена КАК Цена, | РеализацияТоваровУслуг.СтавкаНДС КАК СтавкаНДС, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | РеализацияТоваровУслуг.СерияНоменклатуры.НомерГТД КАК НомерГТД, | РеализацияТоваровУслуг.СерияНоменклатуры.СтранаПроисхождения КАК СтранаПроисхождения, | РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | РеализацияТоваровУслуг.СерияНоменклатуры КАК СерияНоменклатуры, | СУММА(РеализацияТоваровУслуг.Количество) КАК Количество, | СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест, | СУММА(РеализацияТоваровУслуг.Сумма) КАК Сумма, | СУММА(РеализацияТоваровУслуг.СуммаНДС) КАК СуммаНДС, | МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки, | 0 КАК Метка | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | | СГРУППИРОВАТЬ ПО | РеализацияТоваровУслуг.Номенклатура, | РеализацияТоваровУслуг.ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест, | РеализацияТоваровУслуг.Цена, | РеализацияТоваровУслуг.СтавкаНДС, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок, | РеализацияТоваровУслуг.СерияНоменклатуры, | РеализацияТоваровУслуг.ХарактеристикаНоменклатуры, | РеализацияТоваровУслуг.СерияНоменклатуры.НомерГТД, | РеализацияТоваровУслуг.СерияНоменклатуры.СтранаПроисхождения) КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | " + СтрокаВыборкиПоляСодержания + ", | " + СтрокаВыборкиПоляСодержания + ", | РеализацияТоваровУслуг.Номенклатура.Код, | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.Количество, | NULL, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление, | NULL, | РеализацияТоваровУслуг.Цена, | РеализацияТоваровУслуг.Сумма, | РеализацияТоваровУслуг.СуммаНДС, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки, | NULL, | NULL, | NULL, | NULL, | NULL, | РеализацияТоваровУслуг.НомерСтроки, | 1 |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура, | ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)), | РеализацияТоваровУслуг.Номенклатура.Код, | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.Количество КАК Количество, | NULL, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление, | NULL, | РеализацияТоваровУслуг.Цена, | РеализацияТоваровУслуг.Сумма КАК Сумма, | 0, | 0, | NULL, | NULL, | NULL, | NULL, | NULL, | РеализацияТоваровУслуг.НомерСтроки КАК НомерСтроки, | 2 |ИЗ |(ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура, | СУММА(РеализацияТоваровУслуг.Количество) КАК Количество, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление, | РеализацияТоваровУслуг.Цена, | СУММА(РеализацияТоваровУслуг.Сумма) КАК Сумма, | МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки |ИЗ | Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслуг.Номенклатура, | РеализацияТоваровУслуг.Цена |) КАК РеализацияТоваровУслуг |УПОРЯДОЧИТЬ ПО | Метка, | НомерСтроки"; ЗапросТовары = Запрос.Выполнить().Выгрузить(); флВыводитьМест = истина; Если ЗапросТовары.Итог("КоличествоМест")=0 Тогда флВыводитьМест = ложь; КонецЕсли; ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Накладная"; Макет = ПолучитьМакет("Накладная"); // Выводим шапку накладной ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Расходная накладная"); ОбластьМакета.Параметры.ПредставлениеДаты="Респечатано"+ТекущаяДата(); если ссылкаНаОбъект.Проведен тогда ОбластьМакета.Параметры.Черновик=""; иначе областьмакета.Параметры.Черновик="Черновик"; конецесли; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,"); ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика; ОбластьМакета.Параметры.Поставщик = Шапка.Поставщик; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата), "ПолноеНаименование,"); ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя; ОбластьМакета.Параметры.Получатель = Шапка.Получатель; ТабДокумент.Вывести(ОбластьМакета); ЕстьСкидки = ЗапросТовары.Итог("Скидка") + ЗапросТовары.Итог("АвтоматическаяСкидка") <> 0; ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ВыводитьКоды = Истина; Колонка = "Артикул"; ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда ВыводитьКоды = Истина; Колонка = "Код"; Иначе ВыводитьКоды = Ложь; КонецЕсли; ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы|Товар"); ОбластьМест = Макет.ПолучитьОбласть("ШапкаТаблицы|Мест"); ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); Если флВыводитьМест Тогда ТабДокумент.Присоединить(ОбластьМест); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ТабДокумент.Присоединить(ОбластьСуммы); ОбластьКолонкаТовар = Макет.Область("Товар"); Если Не ВыводитьКоды Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; КонецЕсли; Если НЕ ЕстьСкидки Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("СуммаБезСкидки").ШиринаКолонки + Макет.Область("СуммаСкидки").ШиринаКолонки; КонецЕсли; Если не флВыводитьМест Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + ФормированиеПечатныхФорм.РасчетШириныОбластиМакета("Мест", Макет); КонецЕсли; ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов"); ОбластьКодов=Макет.ПолучитьОбласть("строка|Колонкакодов"); ОбластьТовар = Макет.ПолучитьОбласть("Строка|Товар"); ОбластьМест = Макет.ПолучитьОбласть("Строка|Мест"); ОбластьДанных = Макет.ПолучитьОбласть("Строка|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("Строка|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("Строка|Сумма"); Сумма = 0; СуммаНДС = 0; ВсегоСкидок = 0; ВсегоБезСкидок = 0; КоэфКурса = ?( СуммыВРублях, Шапка.КурсВзаиморасчетов / Шапка.КратностьВзаиморасчетов, 1); СписокЗнач = ЗапросТовары.ВыгрузитьКолонку("Номенклатура"); Штрихкоды=""; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Штрихкоды.Штрихкод, | Штрихкоды.Владелец КАК Владелец |ИЗ | РегистрСведений.Штрихкоды КАК Штрихкоды |ГДЕ | Штрихкоды.Владелец В(&СписокЗнач) | |УПОРЯДОЧИТЬ ПО | Владелец"; Запрос.УстановитьПараметр("СписокЗнач", СписокЗнач); ТабЗнач = Новый ТаблицаЗначений; ТабЗнач.Колонки.Добавить("Номер"); ТабЗнач.Колонки.Добавить("Номенклатура"); ТабЗнач.Колонки.Добавить("ШтрихКод"); Результат = Запрос.Выполнить().Выбрать(); m = 1; ном = 1; ПредВлад = "неопределено"; Стр = Новый ТаблицаЗначений; Стр.Колонки.Добавить("ШтрихКод"); Пока Результат.Следующий() Цикл Если Результат.Владелец = ПредВлад Тогда Стр.ШтрихКод = Стр.ШтрихКод + ", " + Результат.Штрихкод; Иначе Стр = ТабЗнач.Добавить(); Стр.Номер = ном; Стр.Номенклатура = Результат.Владелец; Стр.ШтрихКод = Результат.Штрихкод; m=0; ном = ном + 1; ПредВлад = Результат.Владелец; КонецЕсли; КонецЦикла; Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл Штрихкоды=""; СтрокаСоШтр = ТабЗнач.Найти(ВыборкаСтрокТовары.Номенклатура, "Номенклатура"); Если ТипЗнч(СтрокаСоШтр) <> Тип("неопределено") Тогда Штрихкоды = СтрокаСоШтр.ШтрихКод; Иначе Штрихкоды = ""; конецесли; //НумератоСтрок=НумераторСтрок+1; //ОбластьКодов.Параметры.НомерСтроки = НумераторСтрок; ОбластьКодов.Параметры.штрихкод=Штрихкоды; // ОбластьКодов.Параметры.Заполнить(ВыборкаСтрокТовары); //ОбластьТовар.Параметры.Товар = ВыборкаСтрокТовары; конеццикла; Для каждого ВыборкаСтрокТовары из ЗапросТовары Цикл Если Не ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1; ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда Если Колонка = "Артикул" Тогда ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул; Иначе ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код; КонецЕсли; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ОбластьТовар.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьТовар.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары) + ?(ВыборкаСтрокТовары.Метка = 2, " (возвратная тара)", ""); ТабДокумент.Присоединить(ОбластьТовар); Если флВыводитьМест Тогда ОбластьМест.Параметры.Заполнить(ВыборкаСтрокТовары); ТабДокумент.Присоединить(ОбластьМест); КонецЕсли; СуммаРуб = Окр(ВыборкаСтрокТовары.Сумма * КоэфКурса, 2, 1); ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары); //ОбластьДанных.Параметры.Цена = ?(ВыборкаСтрокТовары.Количество = 0, СуммаРуб, Окр( СуммаРуб / ВыборкаСтрокТовары.Количество, 2, 1)); ОбластьДанных.Параметры.Цена = Окр(ВыборкаСтрокТовары.Цена * КоэфКурса, 2, 1); ТабДокумент.Присоединить(ОбластьДанных); // Скидка может быть NULL ПроцентСкидки = ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.Скидка),ВыборкаСтрокТовары.Скидка,0) + ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.АвтоматическаяСкидка),ВыборкаСтрокТовары.АвтоматическаяСкидка,0); Скидка = Ценообразование.ПолучитьСуммуСкидки(СуммаРуб, ПроцентСкидки); Если ЕстьСкидки Тогда ОбластьСкидок.Параметры.Скидка = Скидка; ОбластьСкидок.Параметры.СуммаБезСкидки = ?(СуммыВРублях, СуммаРуб, ВыборкаСтрокТовары.Сумма) + Скидка; ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТовары); Если СуммыВРублях Тогда ОбластьСуммы.Параметры.Сумма = СуммаРуб; КонецЕсли; ОбластьСуммы.Параметры.НомерГТДСтранаПроисхождения = ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.НомерГТД), СокрЛП(ВыборкаСтрокТовары.НомерГТД.Код)+",", "") + Символы.ПС + ВыборкаСтрокТовары.СтранаПроисхождения; ТабДокумент.Присоединить(ОбластьСуммы); Если СуммыВРублях Тогда Сумма = Сумма + СуммаРуб; СуммаНДС = СуммаНДС + Окр( ВыборкаСтрокТовары.СуммаНДС * КоэфКурса, 2, 1); Иначе Сумма = Сумма + ВыборкаСтрокТовары.Сумма; СуммаНДС = СуммаНДС + ВыборкаСтрокТовары.СуммаНДС; КонецЕсли; ВсегоСкидок = ВсегоСкидок + Скидка; ВсегоБезСкидок = Сумма + ВсегоСкидок; КонецЦикла; // Вывести Итого ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("Итого|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("Итого|Товар"); ОбластьМест = Макет.ПолучитьОбласть("Итого|Мест"); ОбластьДанных = Макет.ПолучитьОбласть("Итого|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("Итого|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("Итого|Сумма"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); Если флВыводитьМест Тогда ТабДокумент.Присоединить(ОбластьМест); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ОбластьСкидок.Параметры.ВсегоСкидок = ВсегоСкидок; ОбластьСкидок.Параметры.ВсегоБезСкидок = ВсегоБезСкидок; ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ОбластьСуммы.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма); ТабДокумент.Присоединить(ОбластьСуммы); // Вывести ИтогоНДС Если Шапка.УчитыватьНДС Тогда ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("ИтогоНДС|Товар"); ОбластьМест = Макет.ПолучитьОбласть("ИтогоНДС|Мест"); ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|КоличествоЦена"); ОбластьСкидок = Макет.ПолучитьОбласть("ИтогоНДС|Скидка"); ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоНДС|Сумма"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); Если флВыводитьМест Тогда ТабДокумент.Присоединить(ОбластьМест); КонецЕсли; ОбластьДанных.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, "В том числе НДС:", "Сумма НДС:"); ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ТабДокумент.Присоединить(ОбластьСкидок); КонецЕсли; ОбластьСуммы.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС); ТабДокумент.Присоединить(ОбластьСуммы); КонецЕсли; // Вывести Сумму прописью ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС); Если СуммыВРублях Тогда ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество() + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, мВалютаРегламентированногоУчета); ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, мВалютаРегламентированногоУчета); Иначе ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество() + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента); ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента); КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); // Вывести подписи ОбластьМакета = Макет.ПолучитьОбласть("Подписи"); // Отпуск товара произвел Если ЗначениеЗаполнено(Шапка.ОтпускПроизвел) Тогда ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФорм.ФамилияИмяОтчество(Шапка.ОтпускПроизвел, Шапка.Дата); ФамилияИмяОтчествоОтпускПроизвел = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество; ФИООтпускПроизвел = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоОтпускПроизвел); ОбластьМакета.Параметры.ОтветственныйПредставление = ФИООтпускПроизвел; КонецЕсли; // Получить необходимое количество копий ТабДокумент.КоличествоЭкземпляров = 1; ТабДокумент.АвтоМасштаб = Истина; ТабДокумент.Вывести(ОбластьМакета); ТабДокумент.ОтображатьСетку = Ложь; ТабДокумент.ТолькоПросмотр = Истина; ТабДокумент.ОтображатьГруппировки=Ложь; ТабДокумент.ОтображатьЗаголовки=Ложь; ТабДокумент.Защита = УправлениеДопПравамиПользователей.ЗащитаТаблиц(); //Возврат ТабДокумент; ТабДокумент.Показать(); КонецФункции // ПечатьДокумента() |
|||
1
Wobland
22.07.13
✎
05:40
|
ставлю на то, что в течение часа никто эту портянку не прочитает
|
|||
2
Cube
22.07.13
✎
05:58
|
(0) И на что ты рассчитываешь? Задавать вопросы надо кратко и лаконично, предварительно локализовав проблему. Ты же нам вывалил весь код, типа, "нате, разбирайтесь, а я пока чаю попью"... Красавчик, чё...
На этот твой выпад у меня один ответ - позови специалиста. |
|||
3
MiniMuk
22.07.13
✎
06:02
|
7000руб
|
|||
4
Любопытная
22.07.13
✎
06:04
|
Стр = Новый ТаблицаЗначений;
Стр.Колонки.Добавить("ШтрихКод"); Пока Результат.Следующий() Цикл Если Результат.Владелец = ПредВлад Тогда Стр.ШтрихКод = Стр.ШтрихКод + ", " + Результат.Штрихкод; Иначе Стр = ТабЗнач.Добавить(); Стр.Номер = ном; Стр.Номенклатура = Результат.Владелец; Стр.ШтрихКод = Результат.Штрихкод; m=0; ном = ном + 1; ПредВлад = Результат.Владелец; КонецЕсли; КонецЦикла; Вот это что за ахинея? Если Стр - таблица значений, то какого овоща ты его потом в строку переопределяешь. С именами переменных разберись |
|||
5
Wobland
22.07.13
✎
06:06
|
нашлась любопытная до чужих поэм ;)
|
|||
6
Любопытная
22.07.13
✎
06:20
|
(5) А мне не жалко :) Тем более, что проблему это, вероятно, не решит.
|
|||
7
Wobland
22.07.13
✎
06:42
|
ну тогда и я какашкой кину
>="Респечатано"+ТекущаяДата(); будет выглядеть некрасиво |
|||
8
cw014
22.07.13
✎
09:24
|
6500 и пишу готовый код
|
|||
9
Cube
22.07.13
✎
10:21
|
(8) Ну всё, пошла нездоровая конкуренция... :)
|
|||
10
cw014
22.07.13
✎
10:40
|
(9) А как ты хотел? Демпинг
|
|||
11
Wobland
22.07.13
✎
10:45
|
6400 и диктую готовый код cw014
|
|||
12
cw014
22.07.13
✎
10:46
|
(11) 6000, треть Wobland и он не диктует мой готовый код )))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |