Имя: Пароль:
   
1C
 
Как спросить в запросе, что ссылка пустая?
0 Мисти
 
naïve
04.11.18
14:37
выбор Когда Заявка.Основание.Пустая() - так ведь не сработает?
А как?
1 palsergeich
 
naïve
04.11.18
14:38
Значение(Справочник(или Документ).ИмяСправочника(документа).ПустаяСсылка)
2 palsergeich
 
naïve
04.11.18
14:39
Или передать параметром в запрос
3 Мисти
 
naïve
04.11.18
14:50
Спасибо, добрый человек!
Еще простой вопрос - если документ вводится на основании, но по сути - надо его скопировать, как это рисуют покрасивше?
4 Cyberhawk
 
04.11.18
14:56
Может быть автору проверка не на пустую ссылку нужна, а на битую?
5 Мисти
 
naïve
04.11.18
15:06
на пустую.
6 jsmith82
 
04.11.18
15:19
учитывай, что ещё может быть составной тип, который выдаст неопределено
7 jsmith82
 
04.11.18
15:21
(3) Скопировать()
8 Мисти
 
naïve
04.11.18
15:28
(7) Такое в модуле документа пишут?
9 jsmith82
 
04.11.18
15:31
(8) не совсем понял. ты какую копию хочешь? копию документа-основания иного типа или копию документа того же типа?
может, в твоём случае ОбработкаЗаполнения()
10 jsmith82
 
04.11.18
15:35
если надо программно создать документ, который вводится на основании, то
НовыйДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
НовыйДокумент.Заполнить(ДокументОснование);
НовыйДокумент.Записать (РежимЗаписиДокумента.Проведение);
11 Мисти
 
naïve
04.11.18
15:38
Так вот это "заполнить" - это я и пишу в модуле!

// Процедура - обработчик события "ОбработкаЗаполнения".
//
Процедура ОбработкаЗаполнения(Основание)
12 jsmith82
 
04.11.18
15:43
(11) не, тогда используй ЗаполнитьЗначенияСвойств
13 jsmith82
 
04.11.18
15:44
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Основание, , "Дата, Проведен, ПометкаУдаления");
14 jsmith82
 
04.11.18
15:45
ну и для строк таб. части тоже, если есть
15 jsmith82
 
04.11.18
15:46
Для Каждого Стр Из Основание.Товары Цикл
НовСтр = ЭтотОбъект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НовСтр, Стр);
КонецЦикла;
16 jsmith82
 
04.11.18
15:46
ну или ЭтотОбъект.Товары.Загрузить(Основание.Товары.Выгрузить());
17 Мисти
 
naïve
04.11.18
15:49
О! "исключая свойства" - я про это забыла.
Спасибо!
18 Мисти
 
naïve
04.11.18
17:51
Как через метаданные заполнить все табличные части?
19 Мисти
 
naïve
04.11.18
19:09
Для каждого ТЧ из Метаданные.Документы.ЗаказПокупателя.ТабличныеЧасти Цикл
            ИмяТЧ = ТЧ.Имя;
            КолСтрок = ОснованиеКорректировка[ИмяТЧ].Количество();
            Для ии = 0  по КолСтрок-1 Цикл
                ЭтотОбъект[ИмяТЧ].Добавить();
                ЗаполнитьЗначенияСвойств(ЭтотОбъект[ИмяТЧ][ии],
ОснованиеКорректировка[ИмяТЧ][ии]);
            КонецЦикла;             
        КонецЦикла;
20 Мисти
 
naïve
04.11.18
19:58
А как отсторнировать все движения через метаданные?
21 Мисти
 
naïve
04.11.18
21:13
Для каждого ТаблицаДвижений Из МетаданныеДвижений Цикл
        ИмяТаблицы = ТаблицаДвижений.Имя;
        ДокументСтарый.Движения[ИмяТаблицы].Прочитать();
как узнать - регистр накопления или сведений?
22 catena
 
05.11.18
06:26
(21)А что, документа "Сторнирование" под руками нет?

ДвиженияДокументаОснования = Основание.Метаданные().Движения;
Для Каждого МетаданныеРегистр Из ДвиженияДокументаОснования Цикл
    
        Если Метаданные.РегистрыСведений.Содержит(МетаданныеРегистр) Тогда
            // регистры сведений не сторнируем
            Продолжить;
        КонецЕсли;    
        
КонецЦикла;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан