Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ссылка на ДокументОснование
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
Cnhtkjr
Подскажите, программеры добрые, как мне быть?

Мне нужно записать в регистр сведений ссылку на документ регистратор, что бы открыть из регистра этот документ.

Вот как я это пытаюсь записать (запись движения идет извне и даже работает)



    

        ТекДок = ЭтаФорма.ВладелецФормы; //Документ с которого открывалась форма
    ТекДок.записать();
    ТекСтр = ТекДок.ТекущийЭлемент.ТекущиеДанные;
    Движения = РегистрыСведений.Размеры.СоздатьНаборЗаписей();
    //Таблица = ЭлементыФормы.ТабличноеПоле1;
    Для Каждого ТекСтрок Из ТабличноеПоле1 Цикл
        Движение = Движения.Добавить();
        Движение.Период = ТекДок.Дата;
        Движение.Основание = ТекДок.ДокументОбъект.ссылка; //поле регистратора с типом "ДокументСсылка"
        Движение.Регистратор = ТекДок.ДокументОбъект.ссылка;
        Движение.Номенклатура = ТекСтр.Номенклатура;
        Движение.Размер = ТекСтрок.размер;
        Движение.Количество = ТекСтрок.Количество;
    КонецЦикла;
    Движения.Записать();
    Закрыть();


Проблема в том, что в регистре сведений, я нажимая на нужную мне строку не попадаю в ДокументОснование. Почему? Как делать это правильно?
Так же у меня аналогичная проблема - не могу пока понять, как передать ссылку на ДокументОснование, с модуля которого создается другой документ. Я хотел перенести в созданный документ ссылку, что бы можно было перейти на ДокументОснование, но опять же мои все попытки потерпели крах. Ссылку то перенести - переношу. А как ею воспользоваться - черт его знает.

Или это нужно полностью самому писать обработчик на нажатие, в который буду передавать сохраненную ссылку на Документ, для его открытия?


И еще при записи в регистр вышеописанным методом, у меня один набор записей затирает другой.
Пока еще не понял почему, но мне это не нравится. Если у кого-то есть идеи - вы мне сэкономите массу времени.

Заранее благодарен за время и внимание.
World1С
Посмотрите в типовой конфигурации как реализован механизм записи реквезита ДокументОснование...
И для получения ссылки лучше воспользоваться вот таким механизмом:
ДокументСсылка = ЭтотОбъект.Ссылка
Batchir
Цитата(Cnhtkjr @ 13.04.10, 1:40) необходимо зарегистрироваться для просмотра ссылки
И еще при записи в регистр вышеописанным методом, у меня один набор записей затирает другой.
Пока еще не понял почему, но мне это не нравится. Если у кого-то есть идеи - вы мне сэкономите массу времени.
Заранее благодарен за время и внимание.

На набор записей необходимо наложить отбор перед тем как что то делать
например
Движения = РегистрыСведений.Размеры.СоздатьНаборЗаписей();
Движения.Отбор.Регистратор.Установить(ДокументСсылка);
Движения.Прочитать();

т.о. образом мы будем работать только с теми записями где регистратором будет являться текущий документ.
Прочитать "заполняет" в набор уже имеющиеся записи.
Дальше можно добавлять новые. (Если нужно очитстить набор, то для этого есть отдельная команда)
Cnhtkjr
2 Batchir

Спасибо! Разобрался ))


Может кто-то таки подскажет как переходить по ссылке на сохраненный документ?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.