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

Автор Тема: Как, связать док. и справочник?  (Прочитано 1171 раз)

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

Оффлайн Eva686

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-03-11
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте, не подскажете один вопрос.
есть справочник "Аналитические коды" и Документы "Заказы"
Данные берутся из справочника для документа, а для создания новой колонки "бонусы"
в отчете, была создана таблица в справочнике в котом в каждом "аналитическом коде" есть "бонус" с условием.
таб
1. от 1 до 5 бонус 100
2. 0т 6 до 10 бонус 150
когда формируется отчет, он берет это условие из справочника,
но сами данные берутся из документа и получается 2-е условие не выполняется.
как связать, док. и справочник, чтобы условие выполнялось в отчете?


Оффлайн Дмитрий@

  • *****
  • Сообщений: 735
  • РЕПУТАЦИЯ: 134
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
Что такое справочник аналитические коды и какая в нем хранится информация.
Как справочник аналитические коды связан с документом заказы.

Цитировать
Данные берутся из справочника для документа, а для создания новой колонки "бонусы"
Какие данные берутся.

Цитировать
в отчете, была создана таблица в справочнике в котом в каждом "аналитическом коде" есть "бонус" с условием.
таб
1. от 1 до 5 бонус 100
2. 0т 6 до 10 бонус 150
Непонятно где хранится эта таблица, и что это за таблица.

Цитировать
получается 2-е условие не выполняется
Почему должно выполнятся второе условие а не первое.
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Я б для началя сказал что у вас таблица задана не совсем корректно.
Обычно задается таблица вида
0-5
5-10
и читается как больше минимальной границы и меньше или равно максимальной. В противном случае у вас выподают цифры >5 и <6, 5,1; 5,2 и т.д. в вашу таблицу не попадут.
Что касается кода, то если я все правильоно понял, то в качестве примера:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказТовары.Материал,
| ЗаказТовары.Количество,
| ЗаказТовары.АналитическийКод
|ПОМЕСТИТЬ ВТМатериалы
|ИЗ
| Документ.Заказ.Товары КАК ЗаказТовары
|ГДЕ
| ЗаказТовары.Ссылка.Проведен
| И ЗаказТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| АналитическиекодыТаблицаКоэфициентов.Ссылка,
| АналитическиекодыТаблицаКоэфициентов.МинГраница,
| АналитическиекодыТаблицаКоэфициентов.МаксГраница,
| АналитическиекодыТаблицаКоэфициентов.Бонус
|ПОМЕСТИТЬ ВТКоэфф
|ИЗ
| Справочник.Аналитическиекоды.ТаблицаКоэфициентов КАК АналитическиекодыТаблицаКоэфициентов
|ГДЕ
| АналитическиекодыТаблицаКоэфициентов.Ссылка В
| (ВЫБРАТЬ
| ВТМатериалы.АналитическийКод
| ИЗ
| ВТМатериалы КАК ВТМатериалы)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТМатериалы.Материал,
| ВТМатериалы.Количество,
| ВложенныйЗапрос.Бонус
|ИЗ
| ВТМатериалы КАК ВТМатериалы
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ВТМатериалы.Материал КАК Материал,
| МАКСИМУМ(ВТКоэфф.Бонус) КАК Бонус
| ИЗ
| ВТМатериалы КАК ВТМатериалы
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКоэфф КАК ВТКоэфф
| ПО ВТМатериалы.АналитическийКод = ВТКоэфф.Ссылка
| И ВТМатериалы.Количество > ВТКоэфф.МинГраница
| И ВТМатериалы.Количество <= ВТКоэфф.МаксГраница
|
| СГРУППИРОВАТЬ ПО
| ВТМатериалы.Материал) КАК ВложенныйЗапрос
| ПО ВТМатериалы.Материал = ВложенныйЗапрос.Материал";

Запрос.УстановитьПараметр("Дата1", Дата1);
Запрос.УстановитьПараметр("Дата2", Дата2);

Оффлайн Eva686

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-03-11
  • Сайт: 
  • Профессия: Ученик 1С
ВЫБРАТЬ
ЗаказПациентаМедицинскиеУслуги.Номенклатура,
НАЧАЛОПЕРИОДА(ЗаказПациентаМедицинскиеУслуги.Ссылка.Дата, ДЕНЬ) КАК Дата,
ЗаказПациентаМедицинскиеУслуги.Ссылка.Пациент.Наименование,
ЗаказПациентаМедицинскиеУслуги.Ссылка.НаправившаяОрганизация,
ЗаказПациентаМедицинскиеУслуги.Ссылка.НаправившийВрач,
ЗаказПациентаМедицинскиеУслуги.Ссылка.Ссылка,
ЗаказПациентаМедицинскиеУслуги.Номенклатура.АналитическийКодМенеджеры,
ЗаказПациентаМедицинскиеУслуги.Ссылка.Проведен,
ЗаказПациентаМедицинскиеУслуги.ИсточникФинансирования,
1 КАК Количество,
ЗаказПациентаМедицинскиеУслуги.Ссылка.Дата КАК Дата1,
ЗаказПациентаМедицинскиеУслуги.Цена,
ЗаказПациентаМедицинскиеУслуги.ПроцентАвтоматическойСкидки,
ЗаказПациентаМедицинскиеУслуги.СуммаАвтоматическойСкидки,
ЗаказПациентаМедицинскиеУслуги.Сумма,
ЗаказПациентаМедицинскиеУслуги.Номенклатура.АналитическийКодМенеджеры.Ссылка
ПОМЕСТИТЬ таб
ИЗ
Документ.ЗаказПациента.МедицинскиеУслуги КАК ЗаказПациентаМедицинскиеУслуги
ГДЕ
ВЫБОР
КОГДА НЕ ЗаказПациентаМедицинскиеУслуги.ЗапланированноеВремя = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
ТОГДА ЗаказПациентаМедицинскиеУслуги.ЗапланированноеВремя МЕЖДУ &ДатаНачала И &ДатаОкончания
ИНАЧЕ ЗаказПациентаМедицинскиеУслуги.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
КОНЕЦ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
таб.Номенклатура,
таб.Дата,
таб.ПациентНаименование,
таб.НаправившаяОрганизация,
таб.НаправившийВрач,
таб.Ссылка,
таб.НоменклатураАналитическийКодМенеджеры,
таб.Проведен,
таб.ИсточникФинансирования,
таб.Количество,
таб.Дата1,
таб.Цена,
таб.ПроцентАвтоматическойСкидки,
таб.СуммаАвтоматическойСкидки,
таб.Сумма,
таб.НоменклатураАналитическийКодМенеджерыСсылка,
ЕСТЬNULL(АналитическиеКодыБонусы.Бонусы, 0) * таб.Количество КАК СуммаБонусов
ИЗ
таб КАК таб
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.АналитическиеКоды.Бонусы КАК АналитическиеКодыБонусы
ПО таб.НоменклатураАналитическийКодМенеджерыСсылка = АналитическиеКодыБонусы.Ссылка
И таб.Количество <= АналитическиеКодыБонусы.По
И таб.Количество >= АналитическиеКодыБонусы.С




Если выполняется 1-е условие то бонус = 100.
Когда, должно выполнятся условие 2. бонус должен поменяться на 150
Но, 2-е условие не выполняется.

Последний раз редактировалось: Eva686; 10 Май 2015, 11:19

Оффлайн nemox

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 4
  • КПД: 31%
  • Регистрация: 2015-04-18
  • Сайт: 
  • Профессия: Программист 1С
А строчка в запросе " 1 КАК Количество," Это как понять? Если у Вас всегда количество = 1, какие условия Вы хотите чтобы выполнялись?

Оффлайн Eva686

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-03-11
  • Сайт: 
  • Профессия: Ученик 1С
А строчка в запросе " 1 КАК Количество," Это как понять? Если у Вас всегда количество = 1, какие условия Вы хотите чтобы выполнялись?
эта 1 подсчет всех строк в документе.
Я думаю если можно было бы сделать сумму из этого ко-во по отдельному "аналитическому коду", что бы выполнялось 2-е условие.
но не могу придумать как( вот и нужна помощь.

Оффлайн nemox

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 4
  • КПД: 31%
  • Регистрация: 2015-04-18
  • Сайт: 
  • Профессия: Программист 1С
Вы загружаете данные во временную таблицу ТАБ где количество присваиваете 1 всем строкам всех документов, а потом сравниваете это 1 со справочником. Поэтому и не выполняется 2-ое условие. Как-то так

Оффлайн Дмитрий@

  • *****
  • Сообщений: 735
  • РЕПУТАЦИЯ: 134
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
эта 1 подсчет всех строк в документе.
Я думаю если можно было бы сделать сумму из этого ко-во по отдельному "аналитическому коду", что бы выполнялось 2-е условие.
но не могу придумать как( вот и нужна помощь.
То есть вы не можете посчитать количество строк в документе?
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

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

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal