8.х Внешняя обработка ТОРГ-12

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Nikoloz, 28 июн 2012.

  1. TopicStarter Overlay
    Nikoloz
    Offline

    Nikoloz Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26
    Подскажите пож-та в ТОРГ-12 как мне вытащить "Сумму списание" из "Регистра накопления"?
  2. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Запросом. В чем именно проблема-то?
  3. TopicStarter Overlay
    Nikoloz
    Offline

    Nikoloz Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26
    В документе ТОРГ-12 при распечатке нужно добавить колонку Сумму=ЦенаЗакупочная*Количество. Это сумма находиться в Регистре накопления. Вот не знаю как ещё от туда прицепить к моей обработке.
  4. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    дак вам надо рассчетную колонку добавить или уже рассчитанные данные выбрать из регистра? чет не понятно... в принципе правильно вам направление указали - запрос. Вы же как-то получаете данные для отчета, вот туда то вам и надо добавить еще выборку из регистра, ну и соответственно поправить макет
  5. TopicStarter Overlay
    Nikoloz
    Offline

    Nikoloz Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26
    Данные надо из регистра, вот не знаю как вытащить, колонку создал, макет готов.
  6. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    вы не знаете как делаются запросы? тогда посмотрите примеры в книгах, в принципе примеры можно и тут найти при желании... для модификации вашего запроса надо знать структуру регистра и собственно исходный запрос
  7. TopicStarter Overlay
    Nikoloz
    Offline

    Nikoloz Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26
    Код:
     Для каждого СтрокаТоваров  из РеализацияТоваровТовары Цикл
    ном = ном +1;
    //ОбластьСтрока.Параметры.Заполнить(СтрокаТоваров);
    
    ОбластьСтрока.Параметры.СуммаУпр = СтрокаТоваров.СуммаУпр;
    
    КонецЦикла;
    Для каждого СтрокаТоваров Из ВыборкаСтрок  Цикл
    ном = ном +1;
    СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(СтрокаТоваров,Права);
    ОбластьСтрока.Параметры.Заполнить(СтруктураСтроки);
    ОбластьСтрока.Параметры.БазоваяЕдиницаНаименование = СтрокаТоваров.Номенклатура.БазоваяЕдиницаИзмерения;
    ОбластьСтрока.Параметры.БазоваяЕдиницаКодПоОКЕИ = СтрокаТоваров.Номенклатура.БазоваяЕдиницаИзмерения.Код;
    
    Если ДокументОбъект.ТипЦен.ЦенаВключаетНДС Тогда
    
    ОбластьСтрока.Параметры.СуммаБезНДС=СтрокаТоваров.СуммаВсего-СтрокаТоваров.СуммаНДС;
    
    ОбластьСтрока.Параметры.ПроцНац = ((ОбластьСтрока.Параметры.СуммаВсего/ОбластьСтрока.Параметры.СуммаУпр)/(1+ОбластьСтрока.Параметры.СтавкаНДС))*100;
    В печатной форме мне выводит для всех позиции одинаковую СуммуУпр
  8. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    судя по вашему коду, именно последнюю даже СуммуУпр он вам выводит для всех позиций. Потому как вы в корне не правильно заполняете параметры. Вы в первом цикле то заполняете ваш параметр, но саму область не выводите, поэтому он у вас фактически каждый раз затирается - вполне естественно, что он для всех позиций остается один и тот же. Итог: вам надо пересмотреть вывод областей в табдок
  9. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Приведите к читабельному виду, иначе удалю сообщение.
  10. TopicStarter Overlay
    Nikoloz
    Offline

    Nikoloz Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26
    Удали пож-та не так отправил:(
  11. TopicStarter Overlay
    Nikoloz
    Offline

    Nikoloz Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26
    Чёт не получается. Из ВыборкаСтрок СуммуУпр нету а по другому делаю выводит тупо любую одну из СуммуУпр для всех позиции. Может есть метод какой-то чтоб для каждой номенклатуры присвоил свою СуммуУпр? В табличной части есть СуммаСписания но её не вытащить тожеа в ВыборкеСтрок тоже нету
  12. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    вытащить можно все, главное знать что и откуда, представьте весь ваш код (главное - это откуда берется ваша ВыборкаСтрок)
  13. TopicStarter Overlay
    Nikoloz
    Offline

    Nikoloz Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26
    Код:
    Функция Печать(ДокументОбъект,ТабДокумент) Экспорт
    //
    //ФорматВыводаКоличества = обПраво("ФорматВыводаКоличества",Права);
    //ФорматВыводаСуммы = обПраво("ФорматВыводаСуммы",Права);
    Запрос = Новый Запрос();
    ТекстЗапроса =
    
    " ВЫБРАТЬ
    |   ПоступлениеТоваров.Ссылка,
    |   ПартииТоваровКомпании.Сумма
    |   ИЗ
    |   РегистрНакопления.ПартииТоваровКомпании КАК ПартииТоваровКомпании
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваров КАК ПоступлениеТоваров
    | ПО ПартииТоваровКомпании.Регистратор = ПоступлениеТоваров.Ссылка
    |   ГДЕ
    |   ПоступлениеТоваров.Ссылка = &Ссылка
    |   СГРУППИРОВАТЬ ПО
    |   ПоступлениеТоваров.Ссылка,
    |   ПартииТоваровКомпании.Сумма
    |   ";
    
    
    Запрос = Новый Запрос(ТекстЗапроса);
    Запрос.УстановитьПараметр("Ссылка", ДокументОбъект.Ссылка);
    ТаблицаСписания = запрос.выполнить().выгрузить();
    
    
    Макет = ПолучитьМакет("ТОРГ12");
    
    // Зададим параметры макета
    ТабДокумент.ПолеСверху = 0;
    ТабДокумент.ПолеСлева  = 0;
    ТабДокумент.ПолеСнизу  = 0;
    ТабДокумент.ПолеСправа = 0;
    ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    
    
    // заполняем шапку печатного документа
    ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
    ОбластьМакета.Параметры.Заполнить(ДокументОбъект);
    
    СтруктураПредставления1=Новый Структура(
    "Наименование,ИНН,КПП,АдресЮридический,ТелефонРабочий,БанковскийСчет,Банк,БИК,КоррСчет",
    "","ИНН ","КПП ","","тел.: ","р/с ","в банке ","БИК ","к/с "
    );
    СтруктураПредставления2=Новый Структура(
    "Наименование,ИНН,КПП,ПечатьЗначенияПараметра,ТелефонРабочий,БанковскийСчет,Банк,БИК,КоррСчет",
    "","ИНН ","КПП ",ДокументОбъект.АдресДоставки,"тел.: ","р/с ","в банке ","БИК ","к/с "
    );
    
    
    
    // Правим, что автоматом не заполнилось, или заполнилось неправильно
    ОбластьМакета.Параметры.ПредставлениеОрганизации  = спПолучитьПредставление(ДокументОбъект.Организация,СтруктураПредставления1, ДокументОбъект);
    ОбластьМакета.Параметры.ПредставлениеГрузополучателя = спПолучитьПредставление(ДокументОбъект.Контрагент,СтруктураПредставления2);
    ОбластьМакета.Параметры.Грузополучатель	 = ДокументОбъект.Контрагент;
    ОбластьМакета.Параметры.ПредставлениеПоставщика   = спПолучитьПредставление(ДокументОбъект.Организация,СтруктураПредставления1, ДокументОбъект);
    ОбластьМакета.Параметры.Поставщик	  = ДокументОбъект.Организация;
    ОбластьМакета.Параметры.ПредставлениеПлательщика  = спПолучитьПредставление(ДокументОбъект.Контрагент,СтруктураПредставления1);
    ОбластьМакета.Параметры.Плательщик	  = ДокументОбъект.Контрагент;
    
    //дальше заполнить Шапку
    ОбластьМакета.Параметры.КодПоОКПО = ДокументОбъект.Организация.КодПоОКПО;
    ОбластьМакета.Параметры.ВидДеятельностиПоОКДП = ДокументОбъект.Организация.КодПоОКДП;
    ОбластьМакета.Параметры.ГрузополучательПоОКПО = ДокументОбъект.Контрагент.КодПоОКПО;
    ОбластьМакета.Параметры.ПоставщикПоОКПО = ДокументОбъект.Организация.КодПоОКПО;
    ОбластьМакета.Параметры.ПлательщикПоОКПО = ДокументОбъект.Контрагент.КодПоОКПО;
    
    Если НЕ обЗначениеНеЗаполнено(ДокументОбъект.ДокументОснование) Тогда
    ОбластьМакета.Параметры.ОснованиеДата = ДокументОбъект.ДокументОснование.Дата;
    ОбластьМакета.Параметры.ОснованиеНомер = ДокументОбъект.ДокументОснование.Номер;
    
    КонецЕсли;
    
    
    
    ТабДокумент.Вывести(ОбластьМакета);
    
    НомерСтраницы = 2;
    НомерСтраницыПред = НомерСтраницы;
    КоличествоСтрокНаТекущейСтранице=0;
    
    ОбластьЗаголовокТаблицы    = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
    ОбластьСтрока	   = Макет.ПолучитьОбласть("Строка");
    ОбластьИтоги	   = Макет.ПолучитьОбласть("ИтогоПоСтранице");
    ОбластьВсего	   = Макет.ПолучитьОбласть("Всего");
    ОбластьВсегоСтавкаНДС    = Макет.ПолучитьОбласть("ВсегоСтавкаНДС");
    ОбластьПодвал	   = Макет.ПолучитьОбласть("Подвал");
    
    ТабДокумент.Вывести(ОбластьЗаголовокТаблицы);
    ОбластьЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы;
    
    
    
    ВыборкаСтрок = ДокументОбъект.Товары;
    КоличествоСтрок = ВыборкаСтрок.Количество();
    ВыборкаТабличнойЧасти = ДокументОбъект.Товары;
    ЕстьПартии = Истина;
    
    
    
    // инициализация итогов по документу
    ИтогоСумма	  = 0;
    Ном			 = 0;
    ИтогоСуммаУпр = 0;
    ИтогоПро = 0;
    
    ВыборкаТабличнойЧасти = ДокументОбъект.Товары;
    Для каждого СтрокаТабличнойЧасти Из ВыборкаТабличнойЧасти Цикл
    СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(СтрокаТабличнойЧасти,Права);
    ОбластьСтрока.Параметры.Заполнить(СтруктураСтроки);
    КонецЦикла;
    
    
    СтруктураИтоговПоСтранице = Новый Структура("ИтогКоличествоПоСтранице,ИтогСуммыПоСтранице,ИтогНДСПоСтранице,ИтогСуммыСНДСПоСтранице",0,0,0,0,0);
    
    СоответствиеИтоговПоставкамНДС=Новый Соответствие(); 
    
    
    Для каждого ТекСтрока  из ТаблицаСписания Цикл
    ном = ном +1;
    //СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(ТекСтрока,Права);
    //ОбластьСтрока.Параметры.Заполнить(СтруктураСтроки);
    
    ОбластьСтрока.Параметры.СуммаУпр = ТекСтрока.Сумма;
    
    КонецЦикла;
    Для каждого СтрокаТоваров Из ВыборкаТабличнойЧасти  Цикл
    ном = ном +1;
    СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(СтрокаТоваров,Права);
    ОбластьСтрока.Параметры.Заполнить(СтруктураСтроки);
    ОбластьСтрока.Параметры.БазоваяЕдиницаНаименование = СтрокаТоваров.Номенклатура.БазоваяЕдиницаИзмерения;
    ОбластьСтрока.Параметры.БазоваяЕдиницаКодПоОКЕИ = СтрокаТоваров.Номенклатура.БазоваяЕдиницаИзмерения.Код;
    //ОбластьСтрока.Параметры.СуммаУпр = СтрокаТоваров.Сумма;
    //если у нас тип цен вкл. НДС, то вычтем НДС из суммы и цены
    
    Если ДокументОбъект.ТипЦен.ЦенаВключаетНДС Тогда
    
    
    ОбластьСтрока.Параметры.СуммаБезНДС=СтрокаТоваров.СуммаВсего-СтрокаТоваров.СуммаНДС;
    
    ОбластьСтрока.Параметры.ПроцНац = ((ОбластьСтрока.Параметры.СуммаВсего/ОбластьСтрока.Параметры.СуммаУпр)/(1+ОбластьСтрока.Параметры.СтавкаНДС))*100;
    
    Если НЕ обЗначениеНеЗаполнено(СтрокаТоваров.СтавкаНДС) Тогда
    //ОбластьСтрока.Параметры.Цена=100*СтрокаТоваров.Цена/(100+СтрокаТоваров.СтавкаНДС.Ставка);
    
    
    
    
    ОбластьСтрока.Параметры.Цена = (СтрокаТоваров.СуммаВсего-СтрокаТоваров.СуммаНДС) / СтрокаТоваров.Количество;
    
    ОбластьСтрока.Параметры.ПроцНац = (ОбластьСтрока.Параметры.СуммаВсего/ОбластьСтрока.Параметры.СуммаУпр)*100-100;
    
    
    КонецЕсли;
    КонецЕсли;
    
    мсвДопОбластиПодвала = Неопределено;
    Если ВыборкаСтрок.Индекс(СтрокаТоваров) = ВыборкаСтрок.Количество()-1 Тогда
    мсвДопОбластиПодвала = Новый Массив;
    мсвДопОбластиПодвала.Добавить(ОбластьВсего);
    мсвДопОбластиПодвала.Добавить(ОбластьВсегоСтавкаНДС);
    мсвДопОбластиПодвала.Добавить(ОбластьПодвал);
    КонецЕсли;
    
    Если КоличествоСтрокНаТекущейСтранице=0 Тогда
    ТабДокумент.Вывести(ОбластьСтрока);
    Иначе
    НомерСтраницы = дкВывестиГоризонтальнуюОбласть(ТабДокумент, ОбластьСтрока, ОбластьЗаголовокТаблицы, ОбластьИтоги,
    НомерСтраницы, СтруктураИтоговПоСтранице, Права, мсвДопОбластиПодвала);
    КонецЕсли;
    
    // увеличим итоги по странице
    СтруктураСтрокиИтогов = Новый Структура("ИтогКоличествоПоСтранице,ИтогСуммыПоСтранице,ИтогНДСПоСтранице,ИтогСуммыСНДСПоСтранице,ИтогСуммыУпрПоСтранице");
    СтруктураСтрокиИтогов.ИтогКоличествоПоСтранице = СтрокаТоваров.Количество;
    СтруктураСтрокиИтогов.ИтогСуммыПоСтранице	  = СтрокаТоваров.СуммаВсего-?(СтрокаТоваров.Сумма<>СтрокаТоваров.СуммаВсего,СтрокаТоваров.СуммаНДС,0);
    СтруктураСтрокиИтогов.ИтогНДСПоСтранице	 = СтрокаТоваров.СуммаНДС;
    СтруктураСтрокиИтогов.ИтогСуммыСНДСПоСтранице  = СтрокаТоваров.СуммаВсего;
    СтруктураСтрокиИтогов.ИтогСуммыУпрПоСтранице   = ОбластьСтрока.Параметры.СуммаУпр;
    
    //инициализация итогов по странице
    Если НомерСтраницы <> НомерСтраницыПред Тогда
    СтруктураИтоговПоСтранице = Новый Структура("ИтогКоличествоПоСтранице,ИтогСуммыПоСтранице,ИтогНДСПоСтранице,ИтогСуммыСНДСПоСтранице,ИтогСуммыУчетПоСтранице",0,0,0,0,0);
    НомерСтраницыПред = НомерСтраницы;
    КоличествоСтрокНаТекущейСтранице=0;
    ОбластьЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница: " + НомерСтраницы;
    Иначе
    КоличествоСтрокНаТекущейСтранице=КоличествоСтрокНаТекущейСтранице+1;
    КонецЕсли;
    
    //добавляем итоги
    дкДобавитьИтогиПоСтранице(СтруктураСтрокиИтогов,СтруктураИтоговПоСтранице);
    ИтогоСумма	  = ИтогоСумма+СтрокаТоваров.СуммаВсего-СтрокаТоваров.СуммаНДС;
    ИтогоСуммаУпр = ИтогоСуммаУпр  + ОбластьСтрока.Параметры.СуммаУпр;
    ИтогоПро = ИтогоПро +  ((СтрокаТоваров.СуммаВсего/(1+ОбластьСтрока.Параметры.СтавкаНДС))/ОбластьСтрока.Параметры.СуммаУпр)*100;
    // итоги по ставкам НДС
    Если НЕ обЗначениеНеЗаполнено(СтрокаТоваров.СтавкаНДС) Тогда
    Если СоответствиеИтоговПоставкамНДС[СтрокаТоваров.СтавкаНДС]=Неопределено Тогда
    СоответствиеИтоговПоставкамНДС.Вставить(СтрокаТоваров.СтавкаНДС,0);
    КонецЕсли;
    СоответствиеИтоговПоставкамНДС[СтрокаТоваров.СтавкаНДС]=СоответствиеИтоговПоставкамНДС[СтрокаТоваров.СтавкаНДС]+СтрокаТоваров.СуммаНДС;
    КонецЕсли;
    КонецЦикла;
    
    Если НомерСтраницы > 2 Тогда
    дкВывестиИтогиПоСтранице(ТабДокумент,ОбластьИтоги,СтруктураИтоговПоСтранице,Права);
    КонецЕсли;
    
    
    // Выводим итоги по документу в целом
    ОбластьВсего.Параметры.ИтогКоличество = ВыборкаСтрок.Итог("Количество");
    ОбластьВсего.Параметры.ИтогСуммы	  = ИтогоСумма;
    ОбластьВсего.Параметры.ИтогНДС	    = ВыборкаСтрок.Итог("СуммаНДС");
    ОбластьВсего.Параметры.ИтогСуммыСНДС  = ВыборкаСтрок.Итог("СуммаВсего");
    ОбластьВсего.Параметры.ИтогСуммыУпр  = ИтогоСуммаУпр;
    ОбластьВсего.Параметры.ИтогПро  = ИтогоПро;
    НомерСтраницы = дкВывестиГоризонтальнуюОбласть(ТабДокумент, ОбластьВсего, , , НомерСтраницы,,Права);
    
    // выведем итоги по ставкам НДС
    Для Каждого ЭлементСоответствия Из СоответствиеИтоговПоставкамНДС Цикл
    ОбластьВсегоСтавкаНДС.Параметры.СтавкаНДС="Итого по ставке НДС: "+СокрЛП(ЭлементСоответствия.Ключ.Ставка);
    ОбластьВсегоСтавкаНДС.Параметры.ИтогНДС=ЭлементСоответствия.Значение;
    НомерСтраницы = дкВывестиГоризонтальнуюОбласть(ТабДокумент, ОбластьВсегоСтавкаНДС, , , НомерСтраницы,,Права);
    КонецЦикла;
    // Выводим подвал документа
    
    ОбластьПодвал.Параметры.Заполнить(ДокументОбъект);
    ОбластьПодвал.Параметры.КоличествоПорядковыхНомеровЗаписейПрописью = ЧислоПрописью(КоличествоСтрок, ,",,,,,,,,0");
    ОбластьПодвал.Параметры.СуммаПрописью = обЧислоПрописью(ДокументОбъект.Товары.Итог("СуммаВсего"),ДокументОбъект.ВалютаДокумента);
    НомерСтраницы = дкВывестиГоризонтальнуюОбласть(ТабДокумент, ОбластьПодвал, , , НомерСтраницы,,Права);
    глТабличныйДокумент=ТабДокумент;
    
    Возврат ТабДокумент;
    
    КонецФункции
    Вытащил из Партия товаров компании СуммуУпр она там есть.
  14. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    в вашем запросе вы получаете таблицу, которая не слишком то информативная - просто перечень сумм внутри текущего документа, а как вы понимаете к чему они привязаны? Может конечно я ошибаюсь, если так то поправьте... Но наверняка должен быть еще какой-то параметр для однозначного восприятия и идентификации каждой выбранной записи.

    Я бы переделала запрос на вашем месте. Наверняка, в регистре у вас сумма привязана к определенной номеклатуре (приведите структуру регистра). В таком случае цикл то у вас по Таблице списания отпадет. так как результат выполнения запроса можно анализировать сразу перед выводом основных параметров в ОбластьСтрока
  15. TopicStarter Overlay
    Nikoloz
    Offline

    Nikoloz Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26

    Код:
    Для каждого СтрокаТоваров Из ВыборкаТабличнойЧасти  Цикл
    
    ном = ном +1;
    СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(СтрокаТоваров,Права);
    ОбластьСтрока.Параметры.Заполнить(СтруктураСтроки);
    ОбластьСтрока.Параметры.БазоваяЕдиницаНаименование = СтрокаТоваров.Номенклатура.БазоваяЕдиницаИзмерения;
    ОбластьСтрока.Параметры.БазоваяЕдиницаКодПоОКЕИ = СтрокаТоваров.Номенклатура.БазоваяЕдиницаИзмерения.Код;
    ОбластьСтрока.Параметры.СуммаУпр = СтрокаТоваров.СуммаУпр;
    
    //если у нас тип цен вкл. НДС, то вычтем НДС из суммы и цены
    
    Если ДокументОбъект.ТипЦен.ЦенаВключаетНДС Тогда
    
    
    ОбластьСтрока.Параметры.СуммаБезНДС=СтрокаТоваров.СуммаВсего-СтрокаТоваров.СуммаНДС;
    
    ОбластьСтрока.Параметры.ПроцНац = ((ОбластьСтрока.Параметры.СуммаВсего/ОбластьСтрока.Параметры.СуммаУпр)/(1+ОбластьСтрока.Параметры.СтавкаНДС))*100;
    
    Если НЕ обЗначениеНеЗаполнено(СтрокаТоваров.СтавкаНДС) Тогда
    //ОбластьСтрока.Параметры.Цена=100*СтрокаТоваров.Цена/(100+СтрокаТоваров.СтавкаНДС.Ставка);
    
    
    
    
    ОбластьСтрока.Параметры.Цена = (СтрокаТоваров.СуммаВсего-СтрокаТоваров.СуммаНДС) / СтрокаТоваров.Количество;
    
    ОбластьСтрока.Параметры.ПроцНац = (ОбластьСтрока.Параметры.СуммаВсего/ОбластьСтрока.Параметры.СуммаУпр)*100-100;
    
    
    КонецЕсли;
    КонецЕсли;
    
    
    Если записываю так то выдаёт ошибку что нет поля СуммаУпр.
  16. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    естественно, так как в выборке табличной части нет такого поля. Я вам указала на запрос,ю. который вначале вашего кода приведен, а вы мне говорите сейчас о цикле, в котором формируется область для вывода на печать уже.
  17. TopicStarter Overlay
    Nikoloz
    Offline

    Nikoloz Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26

    Запрос же выводит СуммуУпр, или надо по другому?
  18. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    запрос то выводит, вы прочитайте мое сообщение про запрос еще раз и попробуйте запустить свой запрос в консоли запросов - посмотрите результат, не думаю, что он информативен.
  19. TopicStarter Overlay
    Nikoloz
    Offline

    Nikoloz Опытный в 1С

    Регистрация:
    19 июн 2012
    Сообщения:
    57
    Симпатии:
    0
    Баллы:
    26
    Делаю запрос по другому она мне ничего не выводит самый лучший вариант это
    Код:
      Запрос = Новый Запрос();
    ТекстЗапроса =
    
    " ВЫБРАТЬ
    |			 РеализацияТоваров.Ссылка,
    |			 ПартииТоваровКомпании.СуммаУпр
    |	    ИЗ
    | РегистрНакопления.ПартииТоваровКомпании КАК ПартииТоваровКомпании
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваров КАК РеализацияТоваров
    | ПО ПартииТоваровКомпании.Регистратор = РеализацияТоваров.Ссылка
    |   ГДЕ
    |  РеализацияТоваров.Ссылка = &Ссылка
    |	  
    |	   СГРУППИРОВАТЬ ПО
    |  РеализацияТоваров.Ссылка,
    |    ПартииТоваровКомпании.СуммаУпр
    |";
    
    
    Запрос = Новый Запрос(ТекстЗапроса);
    Запрос.УстановитьПараметр("Ссылка", ДокументОбъект.Ссылка);
    ТаблицаСписания = запрос.выполнить().выгрузить();
    Для каждого ТекСтрока  из ТаблицаСписания Цикл
    ном = ном +1;
    ОбластьСтрока.Параметры.СуммаУпр = ТекСтрока.СуммаУпр;
    КонецЦикла; 
    результат тот же
  20. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    я вам настоятельно рекомендую
    1. почитать литературу (про запросы и отчеты)
    2. выполнить ваш запрос в консоли, чтоб посмотреть результат

    То что вы несколько раз перезаполните параметр еще не значит что он у вас столько же раз выведется на экран!!!

Поделиться этой страницей