Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 05:28
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как заполнить колонки макета  (Прочитано 9007 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tyshkan

  • ***
  • Сообщений: 233
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-22
  • Сайт: 
  • Профессия: Программист 1С
Необходимо добавить в макет внешнего отчета "реестр документов"две колонки "Сумма НДС 10%" и "Сумма НДС 18%" и заполнение происходило СуммойНДСДокумента согласно СтавкеНДС. Как это можно осуществить???


Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
1. Открыть макет - добавить колонки
2. Найти выборку данных, отредактировать так, чтобы получались помимо прочего еще и новые нужные данные
3. Найти заполнение макета, отредактировать, чтобы заполнялись и новые колонки тоже.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Tyshkan

  • ***
  • Сообщений: 233
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-22
  • Сайт: 
  • Профессия: Программист 1С
Это все ясно, но я не могу сравнить СтавкуНДС со значением Перечисление.СтавкиНДС.  Обработчик присваивает Ложь строке

Оффлайн Tyshkan

  • ***
  • Сообщений: 233
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-22
  • Сайт: 
  • Профессия: Программист 1С
Как мне прописать именно что
Если "СтавкаНДС"=Перечисления.СтавкиНДС.НДС10 Тогда
СуммаНДС10 = "СуммаНДСДокумента";
ИначеЕсли "СтавкаНДС" = Перечисления.СтавкиНДС.НДС18 Тогда
СуммаНДС18 = "СуммаНДСДокумента"
КонецЕсли;
Я что-то не правильно делаю??? Отладчик не воспринимает (присваивает ЛОЖЬ) строке где сравнение

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Что есть "СтавкаНДС"?
В Вашем условии это просто строка, и естественно она никогда не будет равна ни одному из значений перечисления.
Откуда берется "СтавкаНДС"? Это конкретное значение ставки по каждой строке или что?

Цитировать
Это все ясно, но я не могу сравнить СтавкуНДС со значением Перечисление.СтавкиНДС.  Обработчик присваивает Ложь строке
Приведите хоть какой-то код, здесь же не экстрасенсы сидят. Откуда мы можем знать, что у Вас там не получается, если Вы сами нам этого не говорите? ;)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Tyshkan

  • ***
  • Сообщений: 233
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-22
  • Сайт: 
  • Профессия: Программист 1С
Это значение СтавкиНДС из документа. Каждая строка это данные одного документа

Оффлайн Tyshkan

  • ***
  • Сообщений: 233
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-22
  • Сайт: 
  • Профессия: Программист 1С
Запрос.Текст = Запрос.Текст + "
   |ВЫБРАТЬ РАЗЛИЧНЫЕ
   |   Док.Ссылка,
   |   Док.Дата,
   |   Док.Номер,
   |   """ + МетаданныеДокумента.Представление() + """ КАК ВидДокумента,
   |   " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("ВидОперации", МетаданныеДокумента), "Док.ВидОперации", "NULL") + " КАК ВидОперации,
   |   " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("Организация", МетаданныеДокумента), "Док.Организация", "NULL") + " КАК Организация,
   |   ";
   Если ОбщегоНазначения.ЕстьРеквизитДокумента("СкладОрдер", МетаданныеДокумента) Тогда
      ИмяРеквизитаСклад = "СкладОрдер";
   Иначе
      ИмяРеквизитаСклад = "Склад";
   КонецЕсли;
   Если ОбщегоНазначения.ЕстьРеквизитДокумента("СтавкаНДС", МетаданныеДокумента) Тогда
      СтНДС = "СтавкаНДС";
      Если СтНДС = Перечисления.СтавкиНДС.НДС10 Тогда
         СуммаНДС10 = "СуммаНДСДокумента";
      ИначеЕсли СтНДС = Перечисления.СтавкиНДС.НДС18 Тогда
         СуммаНДС18 = "СуммаНДСДокумента";
      КонецЕсли;
   КонецЕсли;   


Запрос.Текст = Запрос.Текст + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("Контрагент", МетаданныеДокумента), "Док.Контрагент", "NULL") + " КАК Контрагент,
   |   " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента(ИмяРеквизитаСклад, МетаданныеДокумента), "Док."+ИмяРеквизитаСклад, "NULL") + " КАК Склад,
   |   " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("СуммаДокумента", МетаданныеДокумента), "Док.СуммаДокумента", "0.00") + " КАК СуммаДокумента,
   |   " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("ВалютаДокумента", МетаданныеДокумента), "Док.ВалютаДокумента", "NULL") + " КАК ВалютаДокумента,
   |   " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("Комментарий", МетаданныеДокумента), "ПОДСТРОКА(Док.Комментарий,1,1000)", "NULL") + " КАК Комментарий,
   |   " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("Ответственный", МетаданныеДокумента), "Док.Ответственный", "NULL") + " КАК Ответственный,
   |   "+ ?(ОбщегоНазначения.ЕстьРеквизитДокумента(СуммаНДС10, МетаданныеДокумента), "Док."+СуммаНДС10, "0.00") + " КАК НДС10,
   |   " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента(СуммаНДС18, МетаданныеДокумента), "Док."+СуммаНДС18, "0.00") + " КАК НДС18,
   |   " + ?(истина, "Док.ДокументОснование.Проект", "NULL") + " КАК Проект,
   |   " + ?(истина, "Док.ДокументОснование.Агент", "NULL") + " КАК Агент
   |ИЗ
   |   Документ." + ВидДокумента + " КАК Док
   |";

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
О, ну хоть какой-то код.
А где выполнение запроса? Выборка, заполнение макета? что вы потом с этим запросом делаете?

Повторюсь, код:
  Если ОбщегоНазначения.ЕстьРеквизитДокумента("СтавкаНДС", МетаданныеДокумента) Тогда
      СтНДС = "СтавкаНДС";
      Если СтНДС = Перечисления.СтавкиНДС.НДС10 Тогда
         СуммаНДС10 = "СуммаНДСДокумента";
      ИначеЕсли СтНДС = Перечисления.СтавкиНДС.НДС18 Тогда
         СуммаНДС18 = "СуммаНДСДокумента";
      КонецЕсли;
   КонецЕсли;   
никогда не выполнится, ибо нельзя сравнивать строку и значение перечисления. Ни в одно из условий, выполнение не попадет.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Tyshkan

  • ***
  • Сообщений: 233
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-08-22
  • Сайт: 
  • Профессия: Программист 1С
как мне сделать это сравнение??? данные заполняются я провереля он мне выводит все значения СуммыНДСДокумента, только как сделать отбор именно 10% и 18%???

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Ну откуда ж я знаю?
Где выполняется весь этот текст? В контексте чего работает?
Ваш запрос выбирает данные ПО МНОГИМ документам, как Вы собираетесь опираться на данные какого-то конкретного?

Проверку надо ставить в момент вывода документов в макет, когда уже есть выборка, когда по каждому конкретному доку можем взять ставку ндс...
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
AIFrame
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 127
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal