|
Количество наименований (строк, позиций). | ☑ | ||
---|---|---|---|---|
0
Godunov
31.05.16
✎
16:21
|
Приветствую знатоки 1С, вот тут скрин печатной формы, в нём указано три позиции, надо вместо 0(подчёркнуто красным) отобразить 3 (три позиции и т.д.)
http://savepic.ru/9926452.png Есть запрос такой и сам код: Запрос = Новый Запрос; Запрос.УстановитьПараметр("Наименование", СсылкаНаОбъект); Запрос.УстановитьПараметр("НомерСтроки", СсылкаНаОбъект); Запрос.УстановитьПараметр("Количество", СсылкаНаОбъект); Запрос.УстановитьПараметр("ЕдиницаИзмерения", СсылкаНаОбъект); Запрос.УстановитьПараметр("Цена", СсылкаНаОбъект); Запрос.УстановитьПараметр("Сумма", СсылкаНаОбъект); Запрос.УстановитьПараметр("Вес", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугТовары.Номенклатура.Наименование КАК Наименование, | РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтроки, | РеализацияТоваровУслугТовары.Количество КАК Количество, | РеализацияТоваровУслугТовары.ЕдиницаИзмерения, | РеализацияТоваровУслугТовары.Цена, | РеализацияТоваровУслугТовары.Сумма КАК Сумма, | РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.Номенклатура.ЕдиницаХраненияОстатков.Вес КАК Вес |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслугТовары.Ссылка = &Наименование | И РеализацияТоваровУслугТовары.Ссылка = &НомерСтроки | И РеализацияТоваровУслугТовары.Ссылка = &Количество | И РеализацияТоваровУслугТовары.Ссылка = &ЕдиницаИзмерения | И РеализацияТоваровУслугТовары.Ссылка = &Цена | И РеализацияТоваровУслугТовары.Ссылка = &Сумма | И РеализацияТоваровУслугТовары.Ссылка = &Вес | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугТовары.Номенклатура.Наименование, | РеализацияТоваровУслугТовары.НомерСтроки, | РеализацияТоваровУслугТовары.Количество, | РеализацияТоваровУслугТовары.ЕдиницаИзмерения, | РеализацияТоваровУслугТовары.Цена, | РеализацияТоваровУслугТовары.Сумма, | РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.Номенклатура.ЕдиницаХраненияОстатков.Вес"; Выборка = Запрос.Выполнить().Выбрать(); Макет = ПолучитьМакет("СчетЗаказ"); СуммаИтого = 0; ВесИтого = 0; ВсегоНДС = 0; Пока Выборка.Следующий() Цикл ОбластьМакета = Макет.ПолучитьОбласть("Строка"); ОбластьМакета.Параметры.Товар = Выборка.Наименование; ОбластьМакета.Параметры.НомерСтроки = Выборка.НомерСтроки; ОбластьМакета.Параметры.Количество = Выборка.Количество; ОбластьМакета.Параметры.ЕдиницаЦены = Выборка.ЕдиницаИзмерения; ОбластьМакета.Параметры.Цена = Выборка.Цена; ОбластьМакета.Параметры.Сумма = Выборка.Сумма; ОбластьМакета.Параметры.Вес = Выборка.Вес; ТабДокумент.Вывести(ОбластьМакета); СуммаИтого = СуммаИтого + Выборка.Сумма; ВесИтого = ВесИтого + Выборка.Вес; ВсегоНДС = ВсегоНДС + Выборка.Сумма / 118 * 18; КонецЦикла; ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); ОбластьМакета.Параметры.ИтоговаяСтрока = "Всего наименований " + Выборка.Количество() + ", на сумму " + СуммаИтого + " рублей."; ОбластьМакета.Параметры.СуммаПрописью = ЧислоПрописью(СуммаИтого, "Л=ru_RU;ДП=Истина", "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2"); ТабДокумент.Вывести(ОбластьМакета); |
|||
1
Godunov
31.05.16
✎
16:22
|
Затык тут: Выборка.Количество()
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); ОбластьМакета.Параметры.ИтоговаяСтрока = "Всего наименований " + Выборка.Количество() + ", на сумму " + СуммаИтого + " рублей."; Есть у кого какие мысли, что не так делаю? |
|||
2
samozvanec
31.05.16
✎
16:25
|
(0) с параметрами - это чтоб наверняка?
|
|||
3
Godunov
31.05.16
✎
16:29
|
(2) В смысле?
Я новичок в 1С. |
|||
4
Мимохожий Однако
31.05.16
✎
16:32
|
(3)Начни с запуска в режиме отладки и остановке на ошибке. Потом долго думать.
|
|||
5
Nuobu
31.05.16
✎
16:34
|
РеализацияТоваровУслугТовары.Ссылка = &Наименование
| И РеализацияТоваровУслугТовары.Ссылка = &НомерСтроки | И РеализацияТоваровУслугТовары.Ссылка = &Количество | И РеализацияТоваровУслугТовары.Ссылка = &ЕдиницаИзмерения | И РеализацияТоваровУслугТовары.Ссылка = &Цена | И РеализацияТоваровУслугТовары.Ссылка = &Сумма | И РеализацияТоваровУслугТовары.Ссылка = &Вес |
|||
6
Godunov
31.05.16
✎
16:35
|
(4) Отладчик никаких ошибок не нашёл.
|
|||
7
Nuobu
31.05.16
✎
16:35
|
(6) Выборка.Количество()
поменяй на Выборка.НомерСтроки. |
|||
8
Godunov
31.05.16
✎
16:38
|
(7) Делал уже так, вот результат.
http://savepic.ru/9953096.png Много тем в инете прочитал по своему вопросу - результата нет, в голове каша, поэтому решил сюда за помощью обратиться. |
|||
9
Nuobu
31.05.16
✎
16:39
|
(8) А ты весь код скинул?
|
|||
10
Godunov
31.05.16
✎
16:42
|
(9)
Функция ПечатьДокумента(СуммыВРублях = Ложь) ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ"; Макет = ПолучитьМакет("СчетЗаказ"); ОбластьМакета = Макет.ПолучитьОбласть("Номер"); ОбластьМакета.Параметры.НомерСчета = СсылкаНаОбъект.Номер; ОбластьМакета.Параметры.ДатаСчета = Формат(СсылкаНаОбъект.Дата, "ДЛФ=Д"); ОбластьМакета.Параметры.ДоговорКонтрагента = СсылкаНаОбъект.ДоговорКонтрагента; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Текст"); ОбластьМакета.Параметры.Организация = СсылкаНаОбъект.Организация; ОбластьМакета.Параметры.Контрагент = СокрЛП(СсылкаНаОбъект.Контрагент); Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизации(СсылкаНаОбъект.Организация,СсылкаНаОбъект.Дата); ОбластьМакета.Параметры.ФИОРуководителя = Руководители.Руководитель; ОбластьМакета.Параметры.ГенДирКонтрагент = СсылкаНаОбъект.Контрагент.ОсновноеКонтактноеЛицо; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Поставка"); ОбластьМакета.Параметры.Контрагент = СсылкаНаОбъект.Контрагент.НаименованиеПолное; ОбластьМакета.Параметры.ФактАдресКонтрагента = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(СсылкаНаОбъект.Контрагент, "Фактический"); //Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; //Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес контрагента"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Оплата"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабДокумент.Вывести(ОбластьМакета); ////////////////////////////////////////////////////////////// Запрос = Новый Запрос; Запрос.УстановитьПараметр("Наименование", СсылкаНаОбъект); Запрос.УстановитьПараметр("НомерСтроки", СсылкаНаОбъект); Запрос.УстановитьПараметр("Количество", СсылкаНаОбъект); Запрос.УстановитьПараметр("ЕдиницаИзмерения", СсылкаНаОбъект); Запрос.УстановитьПараметр("Цена", СсылкаНаОбъект); Запрос.УстановитьПараметр("Сумма", СсылкаНаОбъект); Запрос.УстановитьПараметр("Вес", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугТовары.Номенклатура.Наименование КАК Наименование, | РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтроки, | РеализацияТоваровУслугТовары.Количество КАК Количество, | РеализацияТоваровУслугТовары.ЕдиницаИзмерения, | РеализацияТоваровУслугТовары.Цена, | РеализацияТоваровУслугТовары.Сумма КАК Сумма, | РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.Номенклатура.ЕдиницаХраненияОстатков.Вес КАК Вес |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслугТовары.Ссылка = &Наименование | И РеализацияТоваровУслугТовары.Ссылка = &НомерСтроки | И РеализацияТоваровУслугТовары.Ссылка = &Количество | И РеализацияТоваровУслугТовары.Ссылка = &ЕдиницаИзмерения | И РеализацияТоваровУслугТовары.Ссылка = &Цена | И РеализацияТоваровУслугТовары.Ссылка = &Сумма | И РеализацияТоваровУслугТовары.Ссылка = &Вес | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугТовары.Номенклатура.Наименование, | РеализацияТоваровУслугТовары.НомерСтроки, | РеализацияТоваровУслугТовары.Количество, | РеализацияТоваровУслугТовары.ЕдиницаИзмерения, | РеализацияТоваровУслугТовары.Цена, | РеализацияТоваровУслугТовары.Сумма, | РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.Номенклатура.ЕдиницаХраненияОстатков.Вес"; Выборка = Запрос.Выполнить().Выбрать(); Макет = ПолучитьМакет("СчетЗаказ"); СуммаИтого = 0; ВесИтого = 0; ВсегоНДС = 0; Пока Выборка.Следующий() Цикл ОбластьМакета = Макет.ПолучитьОбласть("Строка"); ОбластьМакета.Параметры.Товар = Выборка.Наименование; ОбластьМакета.Параметры.НомерСтроки = Выборка.НомерСтроки; ОбластьМакета.Параметры.Количество = Выборка.Количество; ОбластьМакета.Параметры.ЕдиницаЦены = Выборка.ЕдиницаИзмерения; ОбластьМакета.Параметры.Цена = Выборка.Цена; ОбластьМакета.Параметры.Сумма = Выборка.Сумма; ОбластьМакета.Параметры.Вес = Выборка.Вес; ТабДокумент.Вывести(ОбластьМакета); СуммаИтого = СуммаИтого + Выборка.Сумма; ВесИтого = ВесИтого + Выборка.Вес; ВсегоНДС = ВсегоНДС + Выборка.Сумма / 118 * 18; КонецЦикла; ////////////////////////////////////////////////////////////// ОбластьМакета = Макет.ПолучитьОбласть("Итого"); ОбластьМакета.Параметры.Всего = СуммаИтого; ОбластьМакета.Параметры.ВесВсего = ВесИтого; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС"); ОбластьМакета.Параметры.ВсегоНДС = ВсегоНДС; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); ОбластьМакета.Параметры.ИтоговаяСтрока = "Всего наименований " + Выборка.НомерСтроки + ", на сумму " + СуммаИтого + " рублей."; ОбластьМакета.Параметры.СуммаПрописью = ЧислоПрописью(СуммаИтого, "Л=ru_RU;ДП=Истина", "рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Расчет"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Подпись"); ОбластьМакета.Параметры.Организация = СсылкаНаОбъект.Организация; ОбластьМакета.Параметры.Контрагент = СсылкаНаОбъект.Контрагент; ОбластьМакета.Параметры.ГенДирКонтрагент = СсылкаНаОбъект.Контрагент.ОсновноеКонтактноеЛицо; Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизации(СсылкаНаОбъект.Организация,СсылкаНаОбъект.Дата); ОбластьМакета.Параметры.ФИОРуководителя = Руководители.Руководитель; ТабДокумент.Вывести(ОбластьМакета); Возврат ТабДокумент; КонецФункции // ПечатьДокумента() // Процедура осуществляет печать документа. Можно направить печать на // экран или принтер, а также распечатать необходмое количество копий. // // Название макета печати передается в качестве параметра, // по переданному названию находим имя макета в соответствии. // // Параметры: // НазваниеМакета - строка, название макета. // Функция Печать() Экспорт |
|||
11
FIXXXL
31.05.16
✎
16:45
|
|ГДЕ
| РеализацияТоваровУслугТовары.Ссылка = &Наименование | И РеализацияТоваровУслугТовары.Ссылка = &НомерСтроки | И РеализацияТоваровУслугТовары.Ссылка = &Количество | И РеализацияТоваровУслугТовары.Ссылка = &ЕдиницаИзмерения | И РеализацияТоваровУслугТовары.Ссылка = &Цена | И РеализацияТоваровУслугТовары.Ссылка = &Сумма | И РеализацияТоваровУслугТовары.Ссылка = &Вес с одного раза конфигуратор не понимает? |
|||
12
Godunov
31.05.16
✎
16:47
|
(11) что именно с одного раза конфигуратор не понимает?
|
|||
13
Shrek_yar
31.05.16
✎
16:49
|
(0) е мое, в какрой школе Вас обучали.
Сделай в цикле счетчик, складываешь его и получаешь количество строк. сч = сч + 1; В чем сложность. Выборка - это не таблица значений, это выборка результатов запроса, надо Выборка = Запрос.Выполнить().Выбрать(); Количество = Выборка.Количество(); |
|||
14
alle68
31.05.16
✎
16:50
|
(12) Народ интересуется, семь идентичных условий надёжней одного?
|
|||
15
bootini
31.05.16
✎
16:51
|
(12) ты один и тот же параметр СсылкаНаОбъект ВОСЕМЬ РАЗ устанавливаешь
|
|||
16
Nuobu
31.05.16
✎
16:51
|
(15) Ты что, слепой? Параметры разные.
|
|||
17
Godunov
31.05.16
✎
16:52
|
(13) (14) Ребят, в 1С я полный нуб, изучаю с нуля абсолютно, то что для вас просто и вызывает смех, для меня вызывает кучу вопросов. Думаю в любом деле новичок и профессионал - будет аналогичная ситуация.
Я учусь... |
|||
18
bootini
31.05.16
✎
16:52
|
(16) юмор понял :)
|
|||
19
Nuobu
31.05.16
✎
16:58
|
(17) Сделай счетчик, как советуют в (13)
|
|||
20
Godunov
31.05.16
✎
16:59
|
(13) (19) вопрос, как его сделать?
|
|||
21
silent person
31.05.16
✎
17:01
|
(20) судя по этому вопросу, ты вообще программирование решил по 1С учить.
|
|||
22
bootini
31.05.16
✎
17:01
|
(20)
СуммаИтого = 0; ВесИтого = 0; ВсегоНДС = 0; Сч = 0; ////////// Пока Выборка.Следующий() Цикл ОбластьМакета = Макет.ПолучитьОбласть("Строка"); ОбластьМакета.Параметры.Товар = Выборка.Наименование; ОбластьМакета.Параметры.НомерСтроки = Выборка.НомерСтроки; ОбластьМакета.Параметры.Количество = Выборка.Количество; ОбластьМакета.Параметры.ЕдиницаЦены = Выборка.ЕдиницаИзмерения; ОбластьМакета.Параметры.Цена = Выборка.Цена; ОбластьМакета.Параметры.Сумма = Выборка.Сумма; ОбластьМакета.Параметры.Вес = Выборка.Вес; ТабДокумент.Вывести(ОбластьМакета); СуммаИтого = СуммаИтого + Выборка.Сумма; ВесИтого = ВесИтого + Выборка.Вес; ВсегоНДС = ВсегоНДС + Выборка.Сумма / 118 * 18; ///////// Сч = Сч+1; ///////// КонецЦикла; ОбластьМакета.Параметры.ИтоговаяСтрока = "Всего наименований " + Сч + ", на сумму " + СуммаИтого + " рублей."; |
|||
23
Godunov
31.05.16
✎
17:03
|
(22) Благодарю, вот теперь буду знать про счётчик.
|
|||
24
bootini
31.05.16
✎
17:03
|
(21) админу бух сказал: Какого х.. количество не выводится?
и админ решил учить 1С :) |
|||
25
bootini
31.05.16
✎
17:04
|
А вот почему Выборка.Количество() не срабатывает, все таки непонятно...
|
|||
26
Godunov
31.05.16
✎
17:06
|
Всё получилось - благодарю.
|
|||
27
Godunov
31.05.16
✎
17:08
|
(24) Не совсем, но суть такая. СисАдмин начал учить 1С...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |