Имя: Пароль:
1C
1С v8
групповое заполнение с счетов учетов в документах.
0 xenos
 
22.12.11
15:01
Слетала настройка счетов учета номенклатуры, и выгрузили документы из торговли за квартал, во всех документах не заполнены счета учета.


Как лучше сделать групповое заполнение?
1 xenos
 
22.12.11
15:21
апапапап
2 AmoreMe
 
22.12.11
15:25
Групповая обработка поможет!
3 xenos
 
22.12.11
15:33
(2) И как? Чтобы и сразу и по разным документам и разным складам?
4 xenos
 
22.12.11
15:36
апапапапапапапап
5 Starhan
 
22.12.11
15:38
Конфа БП иил УПП?
если БП пиши сам обработку
6 John83
 
22.12.11
15:38
(2) ни разу не поможет...
7 AmoreMe
 
22.12.11
15:39
По типам документов то ясен пень отдельно :) А можно и свою написать там нет сложного ничего.
8 John83
 
22.12.11
15:40
обработка делается достаточно просто - просто зафигачь в нее обработки при смене флажка БУ (если упп конечно же) - подходит для большинства документов
9 AmoreMe
 
22.12.11
15:40
уже с любыми изворотами тогда!!!
10 John83
 
22.12.11
15:40
(7) не обязательно
я для перемещения, реализации и поступления - все по одному алгоритму делал
11 xenos
 
23.12.11
16:10
Может кому понадобится

Процедура Отчет(ТабДок, КонПер, НачПер) Экспорт

   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ВложенныйЗапрос.Ссылка,
   |    ВложенныйЗапрос.ВидФункции
   |ИЗ
   |    (ВЫБРАТЬ
   |        ВозвратТоваровОтПокупателя.Ссылка КАК Ссылка,
   |        ""ТабличнаяЧасть, ИмяТабЧасти, Заполнять"" КАК ВидФункции
   |    ИЗ
   |        Документ.ВозвратТоваровОтПокупателя КАК ВозвратТоваровОтПокупателя
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        ВозвратТоваровПоставщику.Ссылка,
   |        ""ТабличнаяЧасть, ИмяТабЧасти, Заполнять""
   |    ИЗ
   |        Документ.ВозвратТоваровПоставщику КАК ВозвратТоваровПоставщику
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        ОприходованиеТоваров.Ссылка,
   |        ""ТабличнаяЧасть, Заполнять""
   |    ИЗ
   |        Документ.ОприходованиеТоваров КАК ОприходованиеТоваров
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        ОтчетОРозничныхПродажах.Ссылка,
   |        ""ТабличнаяЧасть, Заполнять""
   |    ИЗ
   |        Документ.ОтчетОРозничныхПродажах КАК ОтчетОРозничныхПродажах
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        ПеремещениеТоваров.Ссылка,
   |        ""ТабличнаяЧасть, ИмяТабЧасти, Заполнять""
   |    ИЗ
   |        Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        ПоступлениеТоваровУслуг.Ссылка,
   |        ""ТабличнаяЧасть, ИмяТабЧасти, ЗаполнятьБУ, ЗаполнятьНУ""
   |    ИЗ
   |        Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        РеализацияТоваровУслуг.Ссылка,
   |        ""ТабличнаяЧасть, ИмяТабЧасти, Заполнять""
   |    ИЗ
   |        Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
   |    
   |    ОБЪЕДИНИТЬ ВСЕ
   |    
   |    ВЫБРАТЬ
   |        СписаниеТоваров.Ссылка,
   |        ""ТабличнаяЧасть, ИмяТабЧасти, Заполнять""
   |    ИЗ
   |        Документ.СписаниеТоваров КАК СписаниеТоваров) КАК ВложенныйЗапрос
   |ГДЕ
   |    ВложенныйЗапрос.Ссылка.Проведен = ЛОЖЬ
   |    И ВложенныйЗапрос.Ссылка.Дата МЕЖДУ &НачПер И &КонПер";

   Запрос.УстановитьПараметр("КонПер", КонецДня(КонПер));
   Запрос.УстановитьПараметр("НачПер", НАчалоДня(НачПер));

   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
               
       Объ=ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
       
       Если ВыборкаДетальныеЗаписи.ВидФункции="ТабличнаяЧасть, ИмяТабЧасти, Заполнять" Тогда
           //            Сообщить("1");
           Объ.ЗаполнитьСчетаУчетаВТабЧасти(Объ.Товары,"Товары",Истина);
       ИначеЕсли ВыборкаДетальныеЗаписи.ВидФункции="ТабличнаяЧасть, ИмяТабЧасти, ЗаполнятьБУ, ЗаполнятьНУ" Тогда
           //Сообщить("2");
           Объ.ЗаполнитьСчетаУчетаВТабЧасти(Объ.Товары,"Товары",Истина,Истина);
       ИначеЕсли ВыборкаДетальныеЗаписи.ВидФункции="ТабличнаяЧасть, Заполнять" Тогда
           //Сообщить("3");
           Объ.ЗаполнитьСчетаУчетаВТабЧасти(Объ.Товары,Истина);
       КонецЕсли;
       Исключение
           Сообщить("Не удалось выполнить функцию"+Объ+" "+ОписаниеОшибки());
       КонецПопытки;
       
       Попытка
           Объ.Записать()
       Исключение
           Сообщить("Не удалось сохранпить докуемнт"+Объ+" "+ОписаниеОшибки());
       КонецПопытки;
   КонецЦикла;

КонецПроцедуры
12 John83
 
23.12.11
16:19
мдя...
а я процедуру ЗаполнитьСчетаУчетаВТабЧасти переносил в саму обработку и потом в нее предавал документ %)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший