|
Заполнение табличной части Материалами | ☑ | ||
---|---|---|---|---|
0
Voblhned
28.05.17
✎
14:10
|
Добрый день, сел в лужицу и мыслей нету, помоги если не сочтете за грубость мою просьбу.
Имею: Документ Производство 2 табличные части Изделия(спр Изделия) и Материалы(спр материалы) В справочнике Изделия есть табличная часть Спецификация там список материалов. Хотел при нажатии кнопки переносить Материалы и табличной части Спецификация справочника Изделия в документ производства. Полная аналогия Отчета производства за смену 1С:Бух Что сделал: на форме: &НаСервере Функция ЗаполнитьПоСпецификацииНаСервере() Объект.Материалы.Очистить(); Документы.Производство.ЗаполнитьМатериалы( Объект.Материалы); КонецФункции &НаКлиенте Процедура ЗаполнитьПоСпецификации(Команда) Если Объект.Материалы.Количество() > 0 Тогда ТекстВопроса = НСтр("ru = 'Перед заполнением табличная часть будет очищена. |Заполнить?'") ; Оповещение = Новый ОписаниеОповещения("ВопросПередЗаполнениемТабличнойЧастиЗавершение", ЭтотОбъект); ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Да); Иначе ЗаполнитьПоСпецификацииНаСервере(); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ВопросПередЗаполнениемТабличнойЧастиЗавершение(Результат, ДополнительныеПараметры) Экспорт Если Результат = КодВозвратаДиалога.Да Тогда ЗаполнитьПоСпецификацииНаСервере(); КонецЕсли; КонецПроцедуры В модуле менеджера: Процедура ЗаполнитьМатериалы (Материалы) Экспорт КонецПроцедуры Как запрос составить, я что то даже не знаю за что цепануться |
|||
1
Voblhned
28.05.17
✎
18:35
|
что, не кто не знает или не понятно что я тут описал ?
|
|||
2
Voblhned
28.05.17
✎
18:39
|
Выглядит это так https://yadi.sk/i/LxLhc2uk3JbW63
|
|||
3
Lexey_
28.05.17
✎
18:49
|
(0) выбираешь нужный реквизит из табличной части Спецификация справочника Изделия с условием, что ссылка этого справочника в списке элементов, которые находятся в ТЧ своего документа
|
|||
4
RomanYS
28.05.17
✎
18:54
|
(2) Если тебе станет легче:
1. Выгрузить ТЧ изделия в ТЗ и засунуть в параметры запроса 2. В запросе соединить ТЗ с ТЧ "спецификация" справочника номенклатуры 3. Загрузить результат запроса в ТЧ "материалы" |
|||
5
Voblhned
28.05.17
✎
18:56
|
(4) а теперь предположим что, ТЧ изделия это составной тип и там сразу несколько справочников
|
|||
6
Voblhned
28.05.17
✎
19:04
|
можно например сделать как то:
Выбрать .... Из Спр1, спр2, спр3, ГДЕ *.Ссылка = &СсылкаНаОбъект, что бы не плодить ГДЕ Спр1.Ссылка, Спр2.Ссылка, Спр.Ссылка3 = &СсылкаНаОбъект |
|||
7
RomanYS
28.05.17
✎
19:10
|
(5) соединяй с каждой и после объединяй
|
|||
8
Voblhned
29.05.17
✎
11:26
|
Соединил и объединил и проусловил, вроде работает, можно вопрос, как мне Умножить на количество?
ВЫБРАТЬ ВоздуховодПрямойСпецификация.Материал КАК Материал, ВоздуховодПрямойСпецификация.Количество КАК Количество, ВоздуховодПрямойСпецификация.Ссылка КАК Ссылка ПОМЕСТИТЬ Материалы ИЗ Справочник.ВоздуховодПрямой.Спецификация КАК ВоздуховодПрямойСпецификация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ОтводСпецификация.Материал, СУММА(ОтводСпецификация.Количество), ОтводСпецификация.Ссылка ИЗ Справочник.Отвод.Спецификация КАК ОтводСпецификация СГРУППИРОВАТЬ ПО ОтводСпецификация.Материал, ОтводСпецификация.Ссылка ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПереходСпецификация.Материал, ПереходСпецификация.Количество, ПереходСпецификация.Ссылка ИЗ Справочник.Переход.Спецификация КАК ПереходСпецификация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТройникСпецификация.Материал, ТройникСпецификация.Количество, ТройникСпецификация.Ссылка ИЗ Справочник.Тройник.Спецификация КАК ТройникСпецификация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЗаглушкаСпецификация.Материал, ЗаглушкаСпецификация.Количество, ЗаглушкаСпецификация.Ссылка ИЗ Справочник.Заглушка.Спецификация КАК ЗаглушкаСпецификация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ УткаСпецификация.Материал, УткаСпецификация.Количество, УткаСпецификация.Ссылка ИЗ Справочник.Утка.Спецификация КАК УткаСпецификация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЗонтыИДефлекторыСпецификация.Материал, ЗонтыИДефлекторыСпецификация.Количество, ЗонтыИДефлекторыСпецификация.Ссылка ИЗ Справочник.ЗонтыИДефлекторы.Спецификация КАК ЗонтыИДефлекторыСпецификация ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПроизводствоИзделия.Изделие КАК Изделие, ПроизводствоИзделия.Ссылка КАК Ссылка, Материалы.Материал КАК Материал, СУММА(Материалы.Количество) КАК Количество, Материалы.Ссылка КАК Ссылка1, ПроизводствоИзделия.Количество КАК Количество1 ИЗ Документ.Производство.Изделия КАК ПроизводствоИзделия ВНУТРЕННЕЕ СОЕДИНЕНИЕ Материалы КАК Материалы ПО ПроизводствоИзделия.Изделие = Материалы.Ссылка ГДЕ ПроизводствоИзделия.Ссылка = &ссылка СГРУППИРОВАТЬ ПО ПроизводствоИзделия.Изделие, ПроизводствоИзделия.Ссылка, Материалы.Материал, Материалы.Ссылка, ПроизводствоИзделия.Количество |
|||
9
aleks_default
29.05.17
✎
11:36
|
(8)Звездец. На каждое изделие свой справочник?
Ты уверен в правильности такой архитектуры? |
|||
10
aleks_default
29.05.17
✎
11:37
|
+(9)И по поводу спецификации в табличной части тоже есть, хм, сомнения.
|
|||
11
Альбатрос
29.05.17
✎
11:38
|
(8) Ничоси!
|
|||
12
aleks_default
29.05.17
✎
11:41
|
...не говоря уж о том что спецификация может быть многопередельная
|
|||
13
Voblhned
29.05.17
✎
11:47
|
(9) да уверен, потому что там еще и виды прикручены с параметрами видимости. если в 1н все свернуть, то там жахнуться можно на параметрах видимости. Если интресно могу показать на web морде
|
|||
14
aleks_default
29.05.17
✎
11:50
|
(13) Не интересно. А в запросе забыл отбор по ссылке добавить во все таблицы.
|
|||
15
Voblhned
29.05.17
✎
12:01
|
Не знаю на сколько правильно это, но это работает.
По моему мнению при росте объема данных скорость работы будет как гусеницы =) ВЫБРАТЬ ВоздуховодПрямойСпецификация.Материал КАК Материал, ВоздуховодПрямойСпецификация.Количество КАК Количество, ВоздуховодПрямойСпецификация.Ссылка КАК Ссылка ПОМЕСТИТЬ Материалы ИЗ Справочник.ВоздуховодПрямой.Спецификация КАК ВоздуховодПрямойСпецификация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ОтводСпецификация.Материал, ОтводСпецификация.Количество, ОтводСпецификация.Ссылка ИЗ Справочник.Отвод.Спецификация КАК ОтводСпецификация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПереходСпецификация.Материал, ПереходСпецификация.Количество, ПереходСпецификация.Ссылка ИЗ Справочник.Переход.Спецификация КАК ПереходСпецификация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТройникСпецификация.Материал, ТройникСпецификация.Количество, ТройникСпецификация.Ссылка ИЗ Справочник.Тройник.Спецификация КАК ТройникСпецификация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЗаглушкаСпецификация.Материал, ЗаглушкаСпецификация.Количество, ЗаглушкаСпецификация.Ссылка ИЗ Справочник.Заглушка.Спецификация КАК ЗаглушкаСпецификация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ УткаСпецификация.Материал, УткаСпецификация.Количество, УткаСпецификация.Ссылка ИЗ Справочник.Утка.Спецификация КАК УткаСпецификация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЗонтыИДефлекторыСпецификация.Материал, ЗонтыИДефлекторыСпецификация.Количество, ЗонтыИДефлекторыСпецификация.Ссылка ИЗ Справочник.ЗонтыИДефлекторы.Спецификация КАК ЗонтыИДефлекторыСпецификация ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Материалы.Материал КАК Материал, СУММА(Материалы.Количество) КАК Количество, СУММА(Материалы.Количество * ПроизводствоИзделия.Количество) КАК Количество2, СУММА(ПроизводствоИзделия.Количество) КАК Количество1 ИЗ Документ.Производство.Изделия КАК ПроизводствоИзделия ВНУТРЕННЕЕ СОЕДИНЕНИЕ Материалы КАК Материалы ПО ПроизводствоИзделия.Изделие = Материалы.Ссылка ГДЕ ПроизводствоИзделия.Ссылка = &ссылка СГРУППИРОВАТЬ ПО Материалы.Материал |
|||
16
aleks_default
29.05.17
✎
12:07
|
(15)Уверен. А попробуй в справочники забить больше чем одну позицию.
А по моему мнению у тебя в (15) написан полный бред. |
|||
17
Voblhned
29.05.17
✎
12:11
|
(16) в справочниках по 2-5 позиций, в документах по 2-10 позиций и суммирует и выбирает верно
|
|||
18
h-sp
29.05.17
✎
12:13
|
(17) а если в документе например два тройника. То будет четверить.
|
|||
19
Voblhned
29.05.17
✎
12:15
|
(18) в документе есть графа Кол-во Изделий, СУММА(Материалы.Количество * ПроизводствоИзделия.Количество) КАК Количество2 а одинаковые позиции объединаются.
|
|||
20
aleks_default
29.05.17
✎
12:17
|
(19) Ну этим ты решил проблему, молоток
|
|||
21
h-sp
29.05.17
✎
12:31
|
(19) я имел в виду, что в ПроизводствоИзделия.Изделие два разных тройника. тогда
СУММА(Материалы.Количество * ПроизводствоИзделия.Количество) материалы.количество будет двойное и ПроизводствоИзделия.Количество двойное, если умножижь, будет в четыре раза больше. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |