Имя: Пароль:
1C
1С v8
Групповой ввод ПКО
0 KENT2007
 
25.03.12
11:09
БП помогите создать обработку группового ввода ПКО на основании документа оказание услуг
1 bazvan
 
25.03.12
11:13
Сколько?
2 KENT2007
 
25.03.12
11:13
может что похожее есть?
3 Amra
 
25.03.12
11:14
4,5 года на Мисте и такие вопросы...
4 KENT2007
 
25.03.12
11:14
Процедура КнопкаВыполнитьНажатие(Кнопка)
       
ВыборкаДокументов = Документы.???.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
   
Пока ВыборкаДокументов.Следующий() Цикл
   
ПКО = Документы.???.СоздатьДокумент();
ПКО.ОбработкаЗаполнения(ВыборкаДокументов.Ссылка);
ПКО.Записать();
КонецЦикла;
   
КонецПроцедуры
5 KENT2007
 
25.03.12
11:19
если есть кусок похожий выложите плиз, буду пробывать...
6 KENT2007
 
25.03.12
12:04
кто сможет помочь?
7 bazvan
 
25.03.12
12:07
Помогут многие, вопрос в цене
8 Нуф-Нуф
 
25.03.12
12:07
(4) 50% обработки уже написано
9 KENT2007
 
25.03.12
12:08
и сколько будет стоит помощь?
10 bazvan
 
25.03.12
12:09
4000 рублей
11 Amra
 
25.03.12
12:09
3999
12 KENT2007
 
25.03.12
12:10
ты дорогой спец, мне кого нить по проще
13 echo77
 
25.03.12
12:10
(4) Что не получается то?
14 Нуф-Нуф
 
25.03.12
12:10
10000руб
3000руб тебе, 3000руб мне и за 4000руб (10) сделает
15 KENT2007
 
25.03.12
12:10
(13) как табличную часть выбрать
16 bazvan
 
25.03.12
12:11
Ну тогда продолжайте попрошайничать
17 KENT2007
 
25.03.12
12:11
(14) - 50% я уже написал )
18 Amra
 
25.03.12
12:13
(15) Продам СП. Недорого. Научу им пользоваться. ОЧЕНЬ дорого :))
19 echo77
 
25.03.12
12:14
(15) Через точку не разименовывается? В конструкторе запросов нельзя выбрать ТЧ?
20 Нуф-Нуф
 
25.03.12
12:14
Процедура КнопкаВыполнитьНажатие(Кнопка)
       
ВыборкаДокументов = Документы.???.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
   
Пока ВыборкаДокументов.Следующий() Цикл
   
ПКО = Документы.???.СоздатьДокумент();
ПКО.ОбработкаЗаполнения(ВыборкаДокументов.Ссылка);

Для Каждого СтрокаДокумента Из ВыборкаДокументов.Следующий.ТвояХзКакаяТабличнаяЧасть Цикл

    НоваяСтрока = ПКО.ЕщеОднаХзКакаяТабЧасть.Добавить();
    НоваяСтрока.... = СтрокаДокумента.... // еще есть заполнитьзначениясвойств
КонецЦикла

ПКО.Записать();
КонецЦикла;
   
КонецПроцедуры
21 Нуф-Нуф
 
25.03.12
12:15
ВыборкаДокументов.Следующий.ТвояХзКакаяТабличнаяЧасть = ВыборкаДокументов.ТвояХзКакаяТабличнаяЧасть
22 Amra
 
25.03.12
12:17
(21) ВыборкаДокументов.Следующий? о_О )
23 echo77
 
25.03.12
12:21
(22) Нормально все. В старину тоже в чертежи ошибки вносили, чтобы тупым и непосвященным не удавалось воссоздать устройство
24 lxs
 
25.03.12
12:21
(21) Что за бред ты написал? адекват..
25 lxs
 
25.03.12
12:23
(20) Про методы тч Выгрузить() и Загрузить() ниче не слышал? в цикле обходит, епта))
26 Amra
 
25.03.12
12:24
(23) А, ну с этой точки зрения да, все ок))
27 Нуф-Нуф
 
25.03.12
12:30
(22) ошибка копипаста :)
(23) это исправление ошибки копипаста в (20), вроде бы должно быть понятно
(25) при чем здесь выгрузить и загрузить? болеешь? или ты в сабже увидел сходные структуры табличных частей двух документов?
28 KENT2007
 
25.03.12
12:48
Процедура КнопкаВыполнитьНажатие(Кнопка)  
   // Вставить содержимое обработчика.
   
ВыборкаДокументов = Документы.ОказаниеУслуг.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
   
Пока ВыборкаДокументов.Следующий() Цикл
   
ПКО = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
ПКО.ОбработкаЗаполнения(ВыборкаДокументов.Ссылка);

Для Каждого ПКО.Контрагент Из ВыборкаДокументов.Следующий.Контрагенты = ВыборкаДокументов.Контрагенты Цикл
    НоваяСтрока = ПКО.Контрагент.Добавить();
   
   
    КонецЦикла;
ПКО.Записать();
КонецЦикла;
КонецПроцедуры
29 Нуф-Нуф
 
25.03.12
12:50
жееесть
30 Нуф-Нуф
 
25.03.12
12:51
я даже немного растерялся...
31 Конфигуратор1с
 
25.03.12
12:52
(28) Это работает?
32 echo77
 
25.03.12
12:53
(28) а так можно?
Для Каждого ПКО.Контрагент Из ВыборкаДокументов.Следующий.Контрагенты = ВыборкаДокументов.Контрагенты Цикл

автор у тебя работает? Или ны на C++ компилируешь?
33 KENT2007
 
25.03.12
12:53
сильно не пинайте опыта прогить нет, звать спеца не подходит
34 bazvan
 
25.03.12
12:55
абассака
35 Нуф-Нуф
 
25.03.12
12:57
что у тебя есть в табличной части документа ОказаниеУслуг что ты хочешь перенести в табличную часть документа ПКО? и вообще какие таб части ты используешь?
36 Конфигуратор1с
 
25.03.12
12:59
(33)

ВыборкаДокументов = Документы.ОказаниеУслуг.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
   
Пока ВыборкаДокументов.Следующий() Цикл
   
ПКО = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
ПКО.ОбработкаЗаполнения(ВыборкаДокументов.Ссылка);


ПКО.Записать();
КонецЦикла;
КонецПроцедуры
Чем так просто не устраивает?
37 KENT2007
 
25.03.12
13:05
(36) устраивает
ПКО.ОбработкаЗаполнения(ВыборкаДокументов.Ссылка);
......
ТУТ Что ....
ПКО.Записать();
38 Нуф-Нуф
 
25.03.12
13:06
ничего
39 KENT2007
 
25.03.12
13:07
а тут ОбработкаЗаполнения(
40 KENT2007
 
25.03.12
13:09
ДоговорКонтрагента = Основание.Договор;
Контрагент = Основание.Контрагент;
Сумма=Основание.Сумма
41 KENT2007
 
25.03.12
13:11
ну ясно как попасть в табчасть оказание услуг
42 Нуф-Нуф
 
25.03.12
13:16
зачем
43 KENT2007
 
25.03.12
13:20
{Форма.Форма.Форма(15)}: Метод объекта не обнаружен (ОбработкаЗаполнения)
ПКО.ОбработкаЗаполнения(ВыборкаДокументов.Ссылка);
44 Конфигуратор1с
 
25.03.12
13:22
(43)ОбработкаЗаполнения замени на Заполнить
45 KENT2007
 
25.03.12
13:29
с ютим ясно, а как перебрать табличную часть Оказание услуг и вставить в ПКО
46 Конфигуратор1с
 
25.03.12
13:33
(45)какую табличную часть и как вы хотите ее вписать в ПКО?
47 Конфигуратор1с
 
25.03.12
13:34
Сформулируйте задачу
48 KENT2007
 
25.03.12
13:36
Процедура КнопкаВыполнитьНажатие(Кнопка)  
ВыборкаДокументов = Документы.ОказаниеУслуг.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
   
Пока ВыборкаДокументов.Следующий() Цикл
   
ПКО = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
ПКО.Заполнить(ВыборкаДокументов.Ссылка);

ПКО.Дата=ВыборкаДокументов.Дата;
пко.Контрагент=ВыборкаДокументов.Контрагенты;
ПКО.СуммаДокумента=ВыборкаДокументов.СуммаДокумента;
КонецПроцедуры
49 KENT2007
 
25.03.12
13:37
Таб часть Оказание услуг в ней есть контр, договор и сумма их нужно в пко
50 Конфигуратор1с
 
25.03.12
13:43
так бы и сказали, тогда по другому
51 Конфигуратор1с
 
25.03.12
13:44
Процедура КнопкаВыполнитьНажатие(Кнопка)  
ВыборкаДокументов = Документы.ОказаниеУслуг.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
   
Пока ВыборкаДокументов.Следующий() Цикл
  Для Каждого Стр Из ВыборкаДокументов.ИмяТабчасти цикл  
ПКО = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
ПКО.Заполнить(ВыборкаДокументов.Ссылка);

ПКО.Дата=ВыборкаДокументов.Дата;
пко.Контрагент=Стр .Контрагенты;
ПКО.СуммаДокумента=Стр .СуммаДокумента;
Конеццикла
Конеццикла
КонецПроцедуры
52 KENT2007
 
25.03.12
13:48
{Форма.Форма.Форма(12)}: Поле объекта не обнаружено (Контрагенты)
пко.Контрагент=Стр.Контрагенты;


как договор выбрать?
53 KENT2007
 
25.03.12
13:54
с ошибками разобрался.
почему то по умолчанию ПКО создает со списком по договорам
54 KENT2007
 
25.03.12
13:59
Процедура КнопкаВыполнитьНажатие(Кнопка)  
ВыборкаДокументов = Документы.ОказаниеУслуг.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
   
Пока ВыборкаДокументов.Следующий() Цикл
  Для Каждого Стр Из ВыборкаДокументов.Контрагенты цикл  
ПКО = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
ПКО.Заполнить(ВыборкаДокументов.Ссылка);

ПКО.Дата=ВыборкаДокументов.Дата;
Пко.ДоговорКонтрагента=стр.ДоговорКонтрагента;
пко.РасшифровкаПлатежа.ДоговорКонтрагента=Стр.Контрагент;
ПКО.РасшифровкаПлатежа.СуммаПлатежа=Стр.Сумма;
Конеццикла;
ПКО.Записать();
Конеццикла
КонецПроцедуры
55 KENT2007
 
25.03.12
14:01
Конфигуратор1с плиз, последний штрих
56 KENT2007
 
25.03.12
14:03
{Форма.Форма.Форма(13)}: Поле объекта не обнаружено (ДоговорКонтрагента)
пко.РасшифровкаПлатежа.ДоговорКонтрагента=Стр.Контрагент;
57 Конфигуратор1с
 
25.03.12
14:16
пко.РасшифровкаПлатежа.ДоговорКонтрагента=Стр.ДоговорКонтрагента;
58 KENT2007
 
25.03.12
14:22
{Форма.Форма.Форма(14)}: Поле объекта не обнаружено (ДоговорКонтрагента)
пко.РасшифровкаПлатежа.ДоговорКонтрагента=Стр.ДоговорКонтрагента;
59 Конфигуратор1с
 
25.03.12
14:25
(58)посмотрите как реквизиты называются в документах
60 Конфигуратор1с
 
25.03.12
14:36
Новаястрока = пко.РасшифровкаПлатежа.Добавить();
Новаястрока .ДоговорКонтрагента=стр.ДоговорКонтрагента;
Новаястрока .ДоговорКонтрагента=Стр.Контрагент;
Новаястрока .СуммаПлатежа=Стр.Сумма;
61 KENT2007
 
25.03.12
16:35
вроде все готово но есть косяки
62 KENT2007
 
25.03.12
16:35
Процедура КнопкаВыполнитьНажатие(Кнопка)  
           
    ВыборкаДокументов=ОУ.Ссылка;
   //ВыборкаДокументов = Документы.ОказаниеУслуг.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
   
//Пока ВыборкаДокументов.Следующий() Цикл
   
   Для Каждого Стр Из ВыборкаДокументов.Контрагенты цикл  
       
       ПКО = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
       ПКО.Заполнить(ВыборкаДокументов.Ссылка);
       ПКО.Организация = ВыборкаДокументов.Организация;
       ПКО.СчетКасса=ПланыСчетов.Хозрасчетный.КассаОрганизации;
       ПКО.Контрагент=Стр.Контрагент;
       ПКО.Дата=ВыборкаДокументов.Дата;

       
Новаястрока = пко.РасшифровкаПлатежа.Добавить();
//Новаястрока.ДоговорКонтрагента=Стр.Контрагент;
Новаястрока.ДоговорКонтрагента=стр.ДоговорКонтрагента;
Новаястрока.СпособПогашенияЗадолженности= Перечисления.СпособыПогашенияЗадолженности.Автоматически;
Новаястрока.КратностьВзаиморасчетов = 1;
Новаястрока.СуммаПлатежа=Стр.Сумма;



//пко.РасшифровкаПлатежа.ДоговорКонтрагента=Стр.ДоговорКонтрагента;
//пко.Контрагент=Стр.Контрагент;
//ПКО.СуммаДокумента=Стр.Сумма;
Конеццикла;
ПКО.Записать();
//Конеццикла
КонецПроцедуры
63 KENT2007
 
25.03.12
16:37
1 Почему первую запись из ТЧ в оказнии улуг не берет
2 Кратность не заполняется
3 Если кратность ставлю руками то ПКО не проводится
Проводка № 1 <>: не заполнен счет кредита.
64 KENT2007
 
25.03.12
16:47
Кстати как ввести ПКО с видом операции "Оплата от покупателя"
65 bazvan
 
25.03.12
16:49
феерично, я валяюсь.
66 Маленький Вопросик
 
25.03.12
17:06
1000 евро за элегантное решение!
67 ILM
 
гуру
25.03.12
17:13
(65) Не вы один, я тоже
68 echo77
 
25.03.12
17:17
(0) Автор, объяви вознаграждение за помощь тебе и оставь контакты. Возможно, вменяемый человек за символическую плату поможет тебе с твоей проблемой
69 KENT2007
 
25.03.12
17:34
можете поздравить все работает, спасибо Конфигуратор1с
70 Конфигуратор1с
 
25.03.12
23:38
(62)
Конеццикла;
ПКО.Записать();

надо заменить на
ПКО.Записать();
Конеццикла;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший