Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Ввод на основании нескольких документов

Ввод на основании нескольких документов
Я
   Okulist
 
04.05.21 - 12:04
Помоги, пожалуйста, неопытному. Проблема: Создаю в конфигураторе документ А. Вводится он на основании документа В и С. Все делаю через конструктор. Табличная часть документа А заполняется почти вся на основании табличной части документа В. Тут все ок у меня. А вот одна колонка в табл части дока А должна вводится на основании реквизита документа С. Вот тут у меня конструктор не выполняет.

Если ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Номенклатура") Тогда
        // Заполнение шапки

    ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
        // Заполнение шапки
        Контрагент = ДанныеЗаполнения.Контрагент;
        Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл
            НоваяСтрока = Товары.Добавить();

Справочник.Номенклатура  - это как раз документ С. Конструктор просто оставляет пустым Тогда...и переходит к обходу строк из дока В
Вопрос: как заполнить ту строку табличной части дока А на основании реквизита дока С? тип данных совпадает
   acht
 
1 - 04.05.21 - 12:09
> Справочник.Номенклатура  - это как раз документ
шта?
   mikecool
 
2 - 04.05.21 - 12:12
ник напрашивается на комплименты )))
(0) нарисуй на бумаге - что ты хочешь получить, облеки рисунок в алгоритм и тогда все будет понятно
   Okulist
 
3 - 04.05.21 - 12:15
(1) документ - обозначение образное, не относящееся к конкретному виду. В начале я просто обозначил образно задачу без привязки к конкретике. думаю, в данном случае неважно С - документ или справочник.
   Okulist
 
4 - 04.05.21 - 12:17
(2) так мне и так все понятно. грубо говоря, 6 строк табл части из документа А вводятся на основании табличной части дока В. Но одна строка табличной части дока А (7-ая) должна вводится на основании реквизита из С (в моем случае это уже справочник). вот эта 7-ая и не заполняется
   hhhh
 
5 - 04.05.21 - 12:20
(4) но как у тебя ДанныеЗаполнения одновременно имеет два разных значения? Это невозможно, нарушение всех законов физики. ДанныеЗаполнения - это или то или это. Определись.
   acht
 
6 - 04.05.21 - 12:20
(3) > документ - обозначение образное, не относящееся к конкретному виду.
А голова — предмет тёмный, исследованию не подлежит.

(4) > на основании реквизита из С
Как ты собираешься передавать B и C внутрь обработчика заполнения?
   Жан Пердежон
 
7 - 04.05.21 - 12:20
(4) а ты подумал, как у тебя в ДанныеЗаполнения окажутся 2 твоих "документа"?
намекну: это надо будет делать программно и скорее всего тип у ДанныхЗаполнения будет в твоем случае структура
   Okulist
 
8 - 04.05.21 - 12:25
Я не то что не подумал, я пока только учусь и не совсем во всем толком разбираюсь. Поэтому и попросил помощи. вопрос можно ли один документ заполнять на основании двух через конструктор? если автоматически это не получается, как я уже понял, то как это прописать самому?
   ДенисЧ
 
9 - 04.05.21 - 12:26
(8) Конструкторы вообще должны быть преданы анафеме. А те, кто их использует - публичному аутодафе на 10 лет с конфискацией и без права.
   hhhh
 
10 - 04.05.21 - 12:31
(8) ну вот это сразу выкинь "Вводится он на основании документа В и С".
У тебя 2 варианта:
1. Вводится он на основании документа В, а в документе В есть ссылка на документ С.
2. Вводится он на основании документа С, а в документе С есть ссылка на документ В.
   Okulist
 
11 - 04.05.21 - 12:35
(10) Спасибо, понятно. Как в документе В сделать ссылку на документ С?
   acanta
 
12 - 04.05.21 - 12:35
Как если два документа в одном журнале и могут быть выделены мышкой в список элементов, то кнопка ввода на основании все равно не увидит их. А жаль..
   hhhh
 
13 - 04.05.21 - 13:06
(11) а как вы ссылку на Контрагента сделали? Типа русской рулетки? Написали и ждете, выстрелит, не выстрелит?
   Новый1сник2
 
14 - 04.05.21 - 13:10
(0) в документ А, добавь ссылку на документ С, и при выборе С, до заполни остальные реквизиты
   Новый1сник2
 
15 - 04.05.21 - 13:12
(0) или как в (10)
   Okulist
 
16 - 04.05.21 - 13:39
(13) контрагент - это из дока В. Уже писал, что там все заполнил через конструктор. Теперь же нужно без конструктора подключить второй документ (справочник), вот с этим трудность у меня лично
   Cthulhu
 
17 - 04.05.21 - 14:13
Документ(В) "Цвет для лимонада" - таб.часть = химикаты
Документ(С) "Фркутовая добавка" - реквизит "добавка" = "авокадо"/"лимон"/"яблоко"/итд
Создаем НЕ на основании Документ(Ё) "Спецификация лимонного лимонада", два реквизита "Цвет" тип Документ(В) и "Фкус" тип Документ(С). Вот на основании этого Документа(Ё) и мутим ввод на основании Документа(А) "Выпуск литра лимонада".
   Okulist
 
18 - 04.05.21 - 15:38
(17)  я так понимая речь уже о ручном вводе? Ведь конструктор не заполнит сам целую табл часть дока А на основании одного из реквизитов дока Ё
   hhhh
 
19 - 04.05.21 - 16:01
(16) если бы там не было ссылка на контрагент в документе А, то тогда она бы никогда не заполнилась. Правильно?
Значит, вы сначала создали ссылку на контрагента в документе А, а потом, на втором этапе, заполнили ее из документа В.
Вы сами создали, значит, вы сделали это. Создайте теперь точно такую же ссылку, но не на контрагента, а на документ.
   Okulist
 
20 - 04.05.21 - 16:21
(19) Реквизит Контрагент из дока А у меня заполнился реквизитом из дока В. Я же пишу, что тут вообще нет проблем. Я знаю, что в свойствах реквизита можно поставить тип ссылку на документ. Проблема возникла с тем, чтобы заполнить одну строку табличной части из дока А реквизитом из совсем другого уже документа.

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.