8.х Чистка значений табличного поля документов

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем бухг123, 14 авг 2013.

  1. TopicStarter Overlay
    бухг123
    Offline

    бухг123 Опытный в 1С

    Регистрация:
    8 дек 2011
    Сообщения:
    219
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, выручайте.

    Делаю обработку "УдалениеСсылок" по очистке значений в ячейке.

    Каким образом можно получить значение колонки табличного поля документа.

    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ВозвратТоваровОтПокупателяТовары.Ссылка КАК Возврат,
    | ВозвратТоваровОтПокупателяТовары.ДокументПартии КАК Ссылки
    |ИЗ
    | Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары
    |ГДЕ
    | ВозвратТоваровОтПокупателяТовары.ДокументПартии.Ссылка ЕСТЬ НЕ NULL ";
    Рез = Запрос.Выполнить().Выгрузить();
    Таблица.Загрузить(Рез);
    
    КонецПроцедуры
    Процедура ОсновныеДействияФормыОчистка(Кнопка)
    Для каждого Строка Из Таблица Цикл
    Дано = Строка.Возврат.ПолучитьОбъект().Товары;
    Сообщить(Дано);
    КонецЦикла;
    КонецПроцедуры
    У меня выводиться только строка целиком (видно из файла 10.png). Как добраться до колонки чтобы затем еще очистить от значений? Пробовал разное но выскакивают ошибки. Что не так делаю?



    В документе Возврат покупателя необходимо очистить в табличной части колонку ДокументПартии которая состоит из ссылок на объекты в этом примере Реализация товаров и услуг

    Вложения:

    • 7.png
      7.png
      Размер файла:
      39,2 КБ
      Просмотров:
      19
    • 8.png
      8.png
      Размер файла:
      33,8 КБ
      Просмотров:
      19
    • 9.png
      9.png
      Размер файла:
      51,6 КБ
      Просмотров:
      18
    • 10.png
      10.png
      Размер файла:
      18,3 КБ
      Просмотров:
      13
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    если надо всю целиком, то может так попробовать
    Код:
    ЭлементыФормы.ТабПоле.Значение.Колонки["ТутИмяВашейКолонки"].Очистить();
    если табличная часть то можно так наверное извратиться
    Код:
    мас = Новый массив;
    мас.Добавить(Доукмент.ТутВашДокумент.ПустаяСсылка());
    ВашаТЧ.ЗагрузитьКолонку(мас, "ИмяКолонки");
    ну или совсем в лоб в цикле перебирать строки
    Код:
    Для каждого стр из ВашаТЧ Цикл
    стр.ВашаКолонка = Документ.ВашДокумент.ПустаяСсылка();
    Конеццикла;
    толкьо не забудьте записать документ, чтоб сохранить изменения
  3. TopicStarter Overlay
    бухг123
    Offline

    бухг123 Опытный в 1С

    Регистрация:
    8 дек 2011
    Сообщения:
    219
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ВозвратТоваровОтПокупателяТовары.Ссылка КАК Возврат,
    | ВозвратТоваровОтПокупателяТовары.ДокументПартии КАК Ссылки
    |ИЗ
    | Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратТоваровОтПокупателяТовары
    |ГДЕ
    | ВозвратТоваровОтПокупателяТовары.ДокументПартии.Ссылка ЕСТЬ НЕ NULL ";
    Рез = Запрос.Выполнить().Выгрузить();
    Таблица.Загрузить(Рез);
    
    КонецПроцедуры
    Процедура ОсновныеДействияФормыОчистка(Кнопка)
    Для каждого Строка Из Таблица Цикл
    Значен = Строка.Возврат.ПолучитьОбъект();
    Строка.Ссылки = Документы.РеализацияТоваровУслуг.ПустаяСсылка();
    Значен.Записать();
    КонецЦикла;
    КонецПроцедуры
    пробую так документ не записывается.

    Хотя значения присваиваются. (в табличной части обработки, а не документа)
  4. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Просто не записывается или вываливается в ошибку?
  5. TopicStarter Overlay
    бухг123
    Offline

    бухг123 Опытный в 1С

    Регистрация:
    8 дек 2011
    Сообщения:
    219
    Симпатии:
    0
    Баллы:
    26
    Просто не записывается. Ошибки не вываливаются.

    Может сначала мне нужно получить этот объект, добраться до колонки, изменить её, а потом записать но как добраться до колонки документа из обработки, пока не понимаю.
  6. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Надеюсь, вы ведаете, что творите... Конечная цель какая-то? Киньте сюда обработку свою, сложно так телепатировать.
  7. TopicStarter Overlay
    бухг123
    Offline

    бухг123 Опытный в 1С

    Регистрация:
    8 дек 2011
    Сообщения:
    219
    Симпатии:
    0
    Баллы:
    26
    Пробовал так

    Код:
    Для каждого Строка Из Таблица Цикл
    //Значен = Строка.Возврат.ПолучитьОбъект();
    //Строка.Ссылки = Документы.РеализацияТоваровУслуг.ПустаяСсылка();
    //Значен.Записать();
    
    Значени = Строка.Возврат.ПолучитьОбъект().ПолучитьФорму().ЭлементыФормы.Товары.Значение.Очистить();
    Значени.Записать()
    КонецЦикла;
    Выскакивает ошибка:
    {Форма.Форма.Форма(23)}: Поле объекта недоступно для чтения
    Значени = Строка.Возврат.ПолучитьОбъект().ПолучитьФорму().ЭлементыФормы.Товары.Значение.Очистить();

    Пробую добиться чтобы в документе Возврат покупателя в табличной части Товары колонка ДокументПартии очистилась от значений. Она (колонка) состоит из ссылок на объекты в данном примере из ссылок на документ Реализация товаров и услуг.

    Обработку не могу прикрепить, не пойму где здесь файлы крепятся.
  8. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Это чушь
    Код:
    Для каждого Строка Из Таблица Цикл
    //Значен = Строка.Возврат.ПолучитьОбъект();
    //Строка.Ссылки = Документы.РеализацияТоваровУслуг.ПустаяСсылка();
    //Значен.Записать();
    
    Значени = Строка.Возврат.ПолучитьОбъект().ПолучитьФорму().ЭлементыФормы.Товары.Значение.Очистить();
    Значени.Записать()
    КонецЦикла;
    Вы это делаете на живой базе? Вы понимаете, о последствиях?
    Конфигурация какая? Управление торговлей?
    Прикрепить можно в форме ответа, переходите в Расширенную форму, там есть инструмент для загрузки файла.
  9. TopicStarter Overlay
    бухг123
    Offline

    бухг123 Опытный в 1С

    Регистрация:
    8 дек 2011
    Сообщения:
    219
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура ОсновныеДействияФормыОчистка(Кнопка)
    Для каждого Строка Из Таблица Цикл
    //Значен = Строка.Возврат.ПолучитьОбъект();
    //Строка.Ссылки = Документы.РеализацияТоваровУслуг.ПустаяСсылка();
    //Значен.Записать();
    
    Значени = Строка.Возврат.ПолучитьОбъект().ПолучитьФорму().ЭлементыФормы.Товары.Значение.Колонки["ДокументПартии"].Очистить();
    Значени.Записать()
    КонецЦикла;
    КонецПроцедуры
    исправил текст из предыдущего письма результат такой же
    {Форма.Форма.Форма(23)}: Поле объекта недоступно для чтения
    Значени = Строка.Возврат.ПолучитьОбъект().ПолучитьФорму().ЭлементыФормы.Товары.Значение.Колонка["ДокументПартии"].Очистить();

    Нет на тестовой базе.
  10. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Конфигурация у вас какая? Управление торговлей?
  11. TopicStarter Overlay
    бухг123
    Offline

    бухг123 Опытный в 1С

    Регистрация:
    8 дек 2011
    Сообщения:
    219
    Симпатии:
    0
    Баллы:
    26
    Конфигурация
    Комплексная автоматизация, редакция 1.1
    .

    Она похожа на конфигурацию Управление Торговлей

    Обработка

    Вложения:

  12. Annie
    Offline

    Annie Опытный в 1С Команда форума

    Регистрация:
    10 фев 2010
    Сообщения:
    949
    Симпатии:
    23
    Баллы:
    29
    Держите быдлокод для примера

    Вложения:

    • Test.epf
      Размер файла:
      6,6 КБ
      Просмотров:
      11
  13. TopicStarter Overlay
    бухг123
    Offline

    бухг123 Опытный в 1С

    Регистрация:
    8 дек 2011
    Сообщения:
    219
    Симпатии:
    0
    Баллы:
    26
    Спасибо большое за помощь Annie. Я не туда смотрел и не с теми данными возился. Возможно моим способом получилось бы, но ваш вариант прост и удобен. Подкорректирую немного для удобства просмотра содержимого документа и завершу обработку.
    Также спасибо за помощь Tiger86
  14. Гриша
    Offline

    Гриша Опытный в 1С

    Регистрация:
    4 май 2008
    Сообщения:
    286
    Симпатии:
    5
    Баллы:
    29
    помоему для таких вещей надо делать вызов формы и указывать владельца формы
    и вот во владельце формы то и будет ваш документ который нужно изменить (удалить документы партии) и записать
    ну и желательно обновить форму документа реализации после этого

Поделиться этой страницей