Имя: Пароль:
1C
1С v8
Перезаполнение табличной части
,
0 mardrake
 
24.05.17
21:04
Всем привет.
В конвертации данных 2.1 сделал ПКО переноса документа реализации, смысл в том что склада такого как в приемнике нету соответственно делаю Объект.Склад = Справочники.Склады.НайтиПоНаименованию()
но получается что бы документы провелись надо перевыбирать номенклатуру. Как сделать так, что бы при загрузке программа сама перевыбирала номенклатуру?
1 Мимохожий Однако
 
24.05.17
21:06
Обработка после загрузки как вариант
2 mardrake
 
24.05.17
21:09
(1) да это я понял, а что туда такое написать, что бы он перезаполнил тч
3 Мимохожий Однако
 
24.05.17
21:18
Дать команду провести не получается?
4 Сияющий Асинхраль
 
24.05.17
21:45
А зачем надо перевыбирать номенклатуру? Я могу представить только один вариант - чтобы проставились счета учета. Но даже для этого варианта надо не номенклатуру перевыбирать, а написать правильный код, чтобы счета учета устанавливались автоматически. Вариант как это сделать очень легко подсмотреть, если загрузить в конвертацию типовую перегрузку в бухгалтерию, например, из УТ
5 mardrake
 
24.05.17
22:06
(3) Объект.Записать(РежимЗаписиДокумента.Проведение);
не получилось
6 mardrake
 
24.05.17
22:10
(4) Дико извиняюсь не написал конфигурации, УТУТ 11.2-УТ 11.2
7 mardrake
 
24.05.17
22:12
(4) Для каждого СтрокаТЧ Из Объект.Товары Цикл
    Объект.ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(СтрокаТЧ, "Товары", Истина, Объект.ОтражатьВНалоговомУчете);
КонецЦикла;
8 Альбатрос
 
25.05.17
04:19
а в 11 торговле есть счета учета, да?
9 Мимохожий Однако
 
25.05.17
06:57
(6) После загрузки всех документов запускать проведение, а не в процессе.
10 mardrake
 
25.05.17
09:22
(9) да так и делал
11 mardrake
 
25.05.17
09:28
перевыбрать нужно в заказе, тогда в реализации проводится
12 mardrake
 
25.05.17
09:54
Как перевыбирать товар автоматически?
13 Ёпрст
 
25.05.17
10:00
(12) зачем ?
14 mardrake
 
25.05.17
10:01
(13) как по-другому, сделать?
15 Ёпрст
 
25.05.17
10:02
если очень надо, то в пко , после загрузки напиши цикл обхода ТЧ и вызов процы, которая торчит в ПриИзменении
16 Ёпрст
 
25.05.17
10:03
(14) посмотреть, какие реквизиты изменяются при "перевыборе" номенклатуры, их и выгружать.
17 Radkt
 
25.05.17
10:18
(0) не нужно ничего перевыбирать, нужно заполнять необходимые реквизиты, обработку заполнения можно подсмотреть/стырить из обработчика "приИзменении"
18 mardrake
 
25.05.17
11:07
(17) Процедура ТоварыНоменклатураПриИзменении(Элемент)
    
    ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
    
    СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруПересчетаСуммыНДСВСтрокеТЧ(Объект);
    
    СтруктураДействий = Новый Структура;
    СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", ТекущаяСтрока.Характеристика);
    СтруктураДействий.Вставить("ПроверитьЗаполнитьУпаковкуПоВладельцу", ТекущаяСтрока.Упаковка);
    СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
    СтруктураДействий.Вставить("ПроверитьЗаполнитьСклад", ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияСкладаВСтрокеТЧ(Объект, СкладГруппа));
    Если ИспользоватьСоглашенияСКлиентами И ЗначениеЗаполнено(Объект.Соглашение) Тогда
        СтруктураДействий.Вставить("ЗаполнитьУсловияПродаж", ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияУсловийПродажВСтрокеТЧ(Объект));
    Иначе
        СтруктураДействий.Вставить("ЗаполнитьЦенуПродажи", ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияЦеныВСтрокеТЧ(Объект));
    КонецЕсли;
    СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС", Объект.НалогообложениеНДС);
    СтруктураДействий.Вставить("ЗаполнитьСтавкуНДСВозвратнойТары", Объект.ВернутьМногооборотнуюТару);
    СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
    СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
    СтруктураДействий.Вставить("ПересчитатьСумму");
    СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомРучнойСкидки", Новый Структура("Очищать", Истина));
    СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомАвтоматическойСкидки", Новый Структура("Очищать", Истина));
    СтруктураДействий.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
    СтруктураДействий.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));
    СтруктураДействий.Вставить("ЗаполнитьПризнакВариантОформленияПродажи", Новый Структура("Номенклатура", "ВариантОформленияПродажи"));
    СтруктураДействий.Вставить("ЗаполнитьСодержание", ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияСодержанияУслугиВСтрокеТЧ(Объект, Ложь));
    СтруктураДействий.Вставить("ЗаполнитьДубликатыЗависимыхРеквизитов", ЗависимыеРеквизиты());
    СтруктураДействий.Вставить("ЗаполнитьПризнакБезВозвратнойТары", Объект.ВернутьМногооборотнуюТару);
    СтруктураДействий.Вставить("ЗаполнитьПризнакОтмененоБезВозвратнойТары", Объект.ВернутьМногооборотнуюТару);
    СтруктураДействий.Вставить("ПроверитьСериюРассчитатьСтатус", Новый Структура("Склад, ПараметрыУказанияСерий", ТекущаяСтрока.Склад, ПараметрыУказанияСерий));
    ПараметрыДействия = ОбеспечениеКлиентСервер.ПараметрыДействияПроверитьЗаполнитьОбеспечениеВДокументеПродажи(
        ЗаполнитьОбособленно, Объект.Статус, Объект.ЖелаемаяДатаОтгрузки);
    СтруктураДействий.Вставить("ПроверитьЗаполнитьОбеспечениеВДокументеПродажи", ПараметрыДействия);
    СтруктураДействий.Вставить("ПриИзмененииТипаНоменклатурыИлиВариантаОбеспечения",
        Новый Структура("ЕстьРаботы, ЕстьОтменено", Истина, Истина));
    
    СтруктураДействий.Вставить("НоменклатураПриИзмененииПереопределяемый", Новый Структура("ИмяФормы, ИмяТабличнойЧасти",
        ЭтаФорма.ИмяФормы, "Товары"));

    ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);
    ОбеспечениеКлиент.ЗаполнитьСлужебныеРеквизиты(Объект.Товары, ДатаОтгрузкиОбязательна, СкладОбязателен);
    
    РассчитатьИтоговыеПоказателиЗаказа(ЭтаФорма);
    
    СкидкиНаценкиКлиент.СброситьФлагСкидкиРассчитаны(ЭтаФорма);
    
КонецПроцедуры
19 mardrake
 
25.05.17
11:12
Что нужно оставить, а что можно выкинуть?
20 mardrake
 
25.05.17
16:58
в заказе ПКО
пишу
Для Каждого стр из Объект.Товары Цикл
    стр.Склад = Справочники.Склады.НайтиПоНаименованию("Склад");
    Стр.ВариантОбеспечения = Перечисления.ВариантыОбеспечения.Отгрузить;
КонецЦикла;
21 mardrake
 
25.05.17
17:00
В реализации ПКО
Для Каждого стр из Объект.Товары Цикл
    стр.ЗаказКлиента = Объект.ЗаказКлиента;
    стр.Склад = Справочники.Склады.НайтиПоНаименованию("Склад")
    
КонецЦикла;
22 mardrake
 
25.05.17
17:00
вопрос закрыт
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн