Вход | Регистрация
 
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) Реквизит Контрагент из дока А у меня заполнился реквизитом из дока В. Я же пишу, что тут вообще нет проблем. Я знаю, что в свойствах реквизита можно поставить тип ссылку на документ. Проблема возникла с тем, чтобы заполнить одну строку табличной части из дока А реквизитом из совсем другого уже документа.

Список тем форума
 
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.