Имя: Пароль:
1C
1С v8
Помогите с проведение документа
0 MikhaDi4
 
14.11.11
19:10
Привет!
Подскажите пожалуйста вот в каком вопросе - в типовой УПП 1.3 в документе требование-накладная я создал реквизит табличной части МойЗаказ(тип ДокументСсылка). При проведении требования-накладной, требуется, чтобы в качестве измерения  ДокументРезерва регистра накопления ТоварыВРезервеНаСкладах подставлялось именно значение реквизита МойЗаказ.
Я сам не резобрался, как работает заполнение набора движений по этому регистру.
1 Рэйв
 
14.11.11
19:12
ооо...Тебя ждет много "открытий чудных". Движения по регистрам в УПП - это просто песня!:-)
2 Рэйв
 
14.11.11
19:13
лучше всего ставь точку останова в обработке проведения и щелкай до места где начнутся записи движений. Только приготовь много нервов, нырять придется глубоко:-)
3 MikhaDi4
 
14.11.11
19:14
Я так и делаю но, что-то пока туго... Вот поэтому и хотел узнать у знающих.
4 Fragster
 
гуру
14.11.11
19:15
Лучше в подписке менять
5 Рэйв
 
14.11.11
19:15
а как найдешь место где пишутся регистры, там и вставляй свой реквизит.Только следи где у тебя ссылка на регистратор при переходах между процедурами
6 MikhaDi4
 
14.11.11
19:16
(5) немогу найти это место :(
7 GROOVY
 
14.11.11
19:17
Создаем подписку на событие "ПередЗаписью" набора записей регистра и не парим себе мозг.
8 shuhard
 
14.11.11
19:18
(3) и что мешает в событии перед записью Рг ТоварыВРезервеНаСкладах заменить заказ
9 MikhaDi4
 
14.11.11
19:20
Ну, я так не пробовал и не знаю будет ли это общепринятым способом (думал это как-то подругому, лаконичнее чтоли делается). Щас попробую через "ПередЗаписью".
10 shuhard
 
14.11.11
19:20
(6) как это не можешь ?
ДвиженияПоРегистрамУпр
...
// Если есть списание из резерва, то надо списать резерв
   ТаблицаПоТоварамИзРезерва = ТаблицаПоТоварам.Скопировать();
   Сч = 0;
   Пока Сч < ТаблицаПоТоварамИзРезерва.Количество() Цикл
       СтрокаТаблицы = ТаблицаПоТоварамИзРезерва.Получить(Сч);
       Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.ЗаказРезерв) Тогда
            ТаблицаПоТоварамИзРезерва.Удалить(СтрокаТаблицы);
       Иначе
           Сч = Сч + 1;
           СтрокаТаблицы.ДокументРезерва = СтрокаТаблицы.ЗаказРезерв;
       КонецЕсли;
   КонецЦикла;
       
   Если ТаблицаПоТоварамИзРезерва.Количество() > 0 Тогда
   
       НаборДвижений = Движения.ТоварыВРезервеНаСкладах;

       // Контроль остатков товара
       Если Материалы.Количество() <> 0 Тогда
           ПроцедурыКонтроляОстатков.ТоварыВРезервеНаСкладахКонтрольОстатков("Материалы", СтруктураШапкиДокумента, Отказ, Заголовок, РежимПроведения);
       КонецЕсли;
       
       Если Не Отказ Тогда
       
           СтруктТаблицДокумента = Новый Структура;
           СтруктТаблицДокумента.Вставить("Материалы", ТаблицаПоТоварамИзРезерва);
               
           ТаблицыДанныхДокумента = ОбщегоНазначения.ЗагрузитьТаблицыДокументаВСтруктуру(НаборДвижений, СтруктТаблицДокумента);
               
           ОбщегоНазначения.ЗаписатьТаблицыДокументаВРегистр(НаборДвижений, ВидДвиженияНакопления.Расход, ТаблицыДанныхДокумента, Дата);
           
       КонецЕсли;
       
   КонецЕсли;
11 shuhard
 
14.11.11
19:23
(10) +1
1.3.17.1
Модуль объекта ТН
12 shuhard
 
14.11.11
19:25
(0) и конечно МойЗаказ(тип ДокументСсылка) не годится
ЗаказПокупателя/Внутренний/Производство

иначе словишь ошибку 256 таблиц от RLS
13 MikhaDi4
 
14.11.11
19:27
(12) а почему не годится МойЗаказ типа ДокументСсылка и что такое ошибка?
14 shuhard
 
14.11.11
19:31
(13) а какой тип имеет реквизит ДокументРезерва у Рг ТоварыВРезервеНаСкладах ?
15 MikhaDi4
 
14.11.11
19:34
(14) смешанный(ЗаказПокупателя, на производство, внутренний и т.п.), в т.ч. и "МойЗаказ"
16 MikhaDi4
 
14.11.11
22:08
При использовании подписки, в регистр записывается то что нужно. Но, только если событие подписки "ОбработкаПроведения" (в которой я создаю просто набор записей регистра накоплений). Если собитые "ПередЗаписью" или "ПриЗаписи", то не работает. Скажите, правильно ли, что при этих событиях не работает и чем чревато использование подписки для обработки проведения в таком духе?
17 hhhh
 
14.11.11
22:33
(16) так надо Перед записью регистра, а ты наверно Перед записью документа фигачишь.
18 MikhaDi4
 
14.11.11
23:19
(16) да. А где-как подписку приделать к Перед записью регистра?
19 MikhaDi4
 
14.11.11
23:21
А, нашел ))