Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 23:11

Взаимодействие основного документа с произвольной формой.

Автор Pavel-67, 05 июн 2014, 11:23

0 Пользователей и 1 гость просматривают эту тему.

Pavel-67

Цитата: has от 05 июн 2014, 12:58
В документе сколько строк?

Добавил 3 строки
Добавлено: 05 июн 2014, 13:06


Цитата: has от 05 июн 2014, 13:00
Что пишет этот код? Параметр формы имеет тип ДокументСсылка?

КоличествоСтрок = Идентификатор.Услуги.Количество()-1;
ОбъектДокумента = Идентификатор.ПолучитьОбъект();
Сообщить(Идентификатор.Услуги.Количество());
Для к=0 По КоличествоСтрок Цикл
   Если ОбъектДокумента.Услуги[КоличествоСтрок-к].Количество = 0 Тогда
      ОбъектДокумента.Услуги.Удалить(КоличествоСтрок-к);
      Сообщить(Идентификатор.Услуги.Количество());
   КонецЕсли;
КонецЦикла;


Сообщяет: 3 , Перемнная Идентификатор имет тип  ДокументСсылка.СчетНаОплатуПокупателю

has

Там же Сообщить еще в цикле, плюс условие на Количество у Вас стоит. Может Количество <> 0?

Pavel-67

Цитата: has от 05 июн 2014, 13:12
Там же Сообщить еще в цикле, плюс условие на Количество у Вас стоит. Может Количество <> 0?

Я убрал условия:
Для к=0 По КоличествоСтрок Цикл
   //Если ОбъектДокумента.Услуги[КоличествоСтрок-к].Количество = 0 Тогда
      ОбъектДокумента.Услуги.Удалить(КоличествоСтрок-к);
      Сообщить(Идентификатор.Услуги.Количество());
  // КонецЕсли;
КонецЦикла;


в итоге написал :
3
3
3
3
Данные без изменения

has

А все, затупил я. После изменения документ то записать надо)))

Для к=0 По КоличествоСтрок Цикл
   //Если ОбъектДокумента.Услуги[КоличествоСтрок-к].Количество = 0 Тогда
      ОбъектДокумента.Услуги.Удалить(КоличествоСтрок-к);
      Сообщить(Идентификатор.Услуги.Количество());
  // КонецЕсли;
КонецЦикла;
ОбъектДокумента.Записать();

Pavel-67

Цитата: has от 05 июн 2014, 13:23
А все, затупил я. После изменения документ то записать надо)))

Для к=0 По КоличествоСтрок Цикл
   //Если ОбъектДокумента.Услуги[КоличествоСтрок-к].Количество = 0 Тогда
      ОбъектДокумента.Услуги.Удалить(КоличествоСтрок-к);
      Сообщить(Идентификатор.Услуги.Количество());
  // КонецЕсли;
КонецЦикла;
ОбъектДокумента.Записать();



Урааа, заработала!!! ))) Только вот одна печаль, а как обновить информацию в основном документе, а то, что бы увидеть изменения нужно заново открыть счет?

has

Цитата: Pavel-67 от 05 июн 2014, 13:26как обновить информацию в основном документе, а то, что бы увидеть изменения нужно заново открыть счет?
Можно после изменения сразу открыть форму документа, попробуйте так
ОткрытьЗначение(Идентификатор);

Pavel-67

Цитата: has от 05 июн 2014, 13:32
Цитата: Pavel-67 от 05 июн 2014, 13:26как обновить информацию в основном документе, а то, что бы увидеть изменения нужно заново открыть счет?
Можно после изменения сразу открыть форму документа, попробуйте так
ОткрытьЗначение(Идентификатор);

я добавил строчку сразу после записи, но увы (

has

Давно не пользовался этим.
А так?

ОткрытьЗначение(ОбъектДокумента);

Либо попробовать так

Идентификатор = ОбъектДокумента.Ссылка;
ОткрытьЗначение(Идентификатор);

Можно еще через ПолучитьФорму попробовать

Форма = ОбъектДокумента.ПолучитьФорму();
Форма.Открыть();

Pavel-67

Цитата: has от 05 июн 2014, 13:46
Давно не пользовался этим.
А так?

ОткрытьЗначение(ОбъектДокумента);

Либо попробовать так

Идентификатор = ОбъектДокумента.Ссылка;
ОткрытьЗначение(Идентификатор);

Можно еще через ПолучитьФорму попробовать

Форма = ОбъектДокумента.ПолучитьФорму();
Форма.Открыть();


Она открывает новую форму с удаленными значениями , при этом старая остается ))) А обновить значения в старой форме можно?

has

Цитата: Pavel-67 от 05 июн 2014, 13:56Она открывает новую форму с удаленными значениями , при этом старая остается
Не понял, можно подробнее? Ну и код какой, может ошибка есть какая


Теги: <i> 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск