Имя: Пароль:
1C
1С v8
Перебор документов управляемое приложение
0 Vadimok
 
27.09.12
10:19
Перебираю документы Реализация товаров и услуг УТ 11. Выбираю запросом документы за опр. период. В цикле получаю документы и изменяю их. Но есть в документе процедура она вызывается только на клиенте в форме документа. Можно ли как то получить форму документа? и выполнить эту процедуру.
1 Rounder
 
27.09.12
10:22
Перенеси ее из формы в модуль объекта. Тогда к ней будет доступ и из формы и из вне.
2 Vadimok
 
27.09.12
10:27
а другие варианты
3 ДенисЧ
 
27.09.12
10:27
а других нет.
4 mih_io
 
27.09.12
10:29
если бы эта процедура вызывалась на клиенте при записи и был бы толстый клиент, то могли бы юзнуть метод ЗаписатьВФорме()

В данный момент юзайте модуль документа
5 olegves
 
27.09.12
10:32
(2) в общий модуль
6 Vadimok
 
27.09.12
10:34
Перенес при сохранении ругается так как нужна директива для процедуры &НаКлиенте
7 Vadimok
 
27.09.12
10:37
Процедура ПересчетСтоймости() Экспорт
   
   Для каждого ТекущаяСтрока из Объект.Товары цикл

   СтруктураДействий = Новый Структура;
   СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
   СтруктураДействий.Вставить("ПересчитатьСуммуНДС", ОбработкаТабличнойЧастиТоварыКлиент.ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(Объект));
   СтруктураДействий.Вставить("ПересчитатьСумму");
   СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомРучнойСкидки", Новый Структура("Очищать", Ложь));
   СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомАвтоматическойСкидки", Новый Структура("Очищать", Истина));

   ОбработкаТабличнойЧастиТоварыКлиент.ПриИзмененииРеквизитовВТЧКлиент(Объект.Товары, ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);

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

   СкидкиНаценкиКлиент.СброситьФлагСкидкиРассчитаны(ЭтаФорма);

   КонецЦикла;
   
КонецПроцедуры
8 Vadimok
 
27.09.12
10:38
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1453,31)}: Переменная не определена (Объект)
   Для каждого ТекущаяСтрока из <<?>>Объект.Товары цикл  (Проверка: Сервер)
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1457,132)}: Переменная не определена (Объект)
   СтруктураДействий.Вставить("ПересчитатьСуммуНДС", ОбработкаТабличнойЧастиТоварыКлиент.ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(<<?>>Объект)); (Проверка: Сервер)
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1462,70)}: Переменная не определена (Объект)
   ОбработкаТабличнойЧастиТоварыКлиент.ПриИзмененииРеквизитовВТЧКлиент(<<?>>Объект.Товары, ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения); (Проверка: Сервер)
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1464,93)}: Переменная не определена (Объект)
   ОбработкаТабличнойЧастиТоварыКлиентСервер.ЗаполнитьСуммуВсегоВСтрокеТаблицы(ТекущаяСтрока, <<?>>Объект.ЦенаВключаетНДС); (Проверка: Сервер)
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1465,61)}: Переменная не определена (Объект)
   ПродажиКлиентСервер.РассчитатьИтоговыеПоказателиРеализации(<<?>>Объект, ЭтаФорма); (Проверка: Сервер)
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1457,52)}: Переменная не определена (ОбработкаТабличнойЧастиТоварыКлиент)
   СтруктураДействий.Вставить("ПересчитатьСуммуНДС", <<?>>ОбработкаТабличнойЧастиТоварыКлиент.ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(Объект)); (Проверка: Сервер)
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1462,2)}: Переменная не определена (ОбработкаТабличнойЧастиТоварыКлиент)
   <<?>>ОбработкаТабличнойЧастиТоварыКлиент.ПриИзмененииРеквизитовВТЧКлиент(Объект.Товары, ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения); (Проверка: Сервер)
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1462,119)}: Переменная не определена (КэшированныеЗначения)
   ОбработкаТабличнойЧастиТоварыКлиент.ПриИзмененииРеквизитовВТЧКлиент(Объект.Товары, ТекущаяСтрока, СтруктураДействий, <<?>>КэшированныеЗначения); (Проверка: Сервер)
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1465,69)}: Переменная не определена (ЭтаФорма)
   ПродажиКлиентСервер.РассчитатьИтоговыеПоказателиРеализации(Объект, <<?>>ЭтаФорма); (Проверка: Сервер)
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1467,51)}: Переменная не определена (ЭтаФорма)
   СкидкиНаценкиКлиент.СброситьФлагСкидкиРассчитаны(<<?>>ЭтаФорма); (Проверка: Сервер)
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1467,2)}: Переменная не определена (СкидкиНаценкиКлиент)
   <<?>>СкидкиНаценкиКлиент.СброситьФлагСкидкиРассчитаны(ЭтаФорма); (Проверка: Сервер)
9 olegves
 
27.09.12
10:42
(7) Объект живет только в пределах формы, так что передавай нужные параметры. Включи голову - иногда помогает
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший