|
Перенос из одной ТЧ в другую (обработка) | ☑ | ||
---|---|---|---|---|
0
WhiteDragon93
15.05.13
✎
22:38
|
Пишу обработку для заполнения ТЧ документа ТЧ другого документа (точнее ее частью). Документ-основание - оприходование товаров, документ-приемник - установка цен номенклатуры. Конфа - Комплексная автоматизация.
Я уже совсем затупил и готов получить за свою тупость :) Вот код: Процедура КнопкаВыполнитьНажатие(Кнопка) ДокументОснование = ЭтаФорма.ДокументОснование; ДокументОбъект = ЭтаФорма.ДокументОбъект; ТЧОбъекта = ДокументОбъект.Товары; Для каждого Стр Из ДокументОснование.Товары Цикл НоваяСтрока = ТЧОбъекта.Добавить(); НоваяСтрока.Номенклатура = Стр.Номенклатура; НоваяСтрока.НомерСтроки = Стр.НомерСтроки; КонецЦикла; ЭтаФорма.Закрыть(); КонецПроцедуры |
|||
1
zak555
15.05.13
✎
22:42
|
из кода видно, что ты пытаешь скопировать ТЧ основание в документ
|
|||
2
WhiteDragon93
15.05.13
✎
22:46
|
(1) тяжко без отладчика начинающему
|
|||
3
ШишкинЛес
15.05.13
✎
22:46
|
ОбъектДок = ДокументОбъект.ПолучитьОбъект();
НоваяСтрока = ОбъектДок.Товары.Добавить(); |
|||
4
Живой Ископаемый
15.05.13
✎
22:51
|
2(2) как это? куда дел отладчик? или силу воли воспитываешь?
|
|||
5
WhiteDragon93
15.05.13
✎
22:56
|
(4) это внешняя зарегистрированная обработка
|
|||
6
Dionis Sergeevich
15.05.13
✎
22:58
|
(5) Сделай форму, открой ее не через внешние обработки и отлаживай =)
Да, и Документ в коде не записан |
|||
7
WhiteDragon93
15.05.13
✎
23:00
|
(6) он записывается при вызове обработки)
|
|||
8
WhiteDragon93
15.05.13
✎
23:04
|
Вот что за дела?
Модуль объекта: Перем ДокументОбъект Экспорт; Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт ДокументОбъект = Объект; ТЧДокумента = Объект["Товары"]; ТПДокумента = ТабличноеПолеОбъекта; Форма = ПолучитьФорму("Основная"); Форма.Открыть(); КонецПроцедуры Модуль формы: Процедура КнопкаВыполнитьНажатие(Кнопка) ДокументОснование = ЭтаФорма.ДокументОснование; ДокОбъект = ДокументОбъект.Ссылка.Получить(); ТЧОбъекта = ДокОбъект.Товары; Для каждого Стр Из ДокументОснование.Товары Цикл НоваяСтрока = ТЧОбъекта.Добавить(); НоваяСтрока.Номенклатура = Стр.Номенклатура; НоваяСтрока.НомерСтроки = Стр.НомерСтроки; КонецЦикла; ЭтаФорма.Закрыть(); КонецПроцедуры |
|||
9
Dionis Sergeevich
15.05.13
✎
23:08
|
В ссылку пишешь. Говорили же - объект получи
|
|||
10
WhiteDragon93
15.05.13
✎
23:09
|
(9) {Форма.Основная.Форма(5)}: Метод объекта не обнаружен (Получить)
ДокОбъект = ДокументОбъект.Ссылка.Получить(); |
|||
11
Dionis Sergeevich
15.05.13
✎
23:10
|
ОбъектДок = ДокументОбъект.ПолучитьОбъект();
|
|||
12
WhiteDragon93
15.05.13
✎
23:14
|
(11)
{Форма.Основная.Форма(5)}: Ошибка при вызове метода контекста (ПолучитьОбъект) ДокОбъект = ДокументОбъект.ПолучитьОбъект(); по причине: Элемент не выбран! |
|||
13
Dionis Sergeevich
15.05.13
✎
23:15
|
ДокументОбъект у тебя полеввода? Так и вводи туда документ =)
|
|||
14
Dionis Sergeevich
15.05.13
✎
23:15
|
Ладно, кидай обработку - гляну
|
|||
15
WhiteDragon93
15.05.13
✎
23:17
|
||||
16
Dionis Sergeevich
15.05.13
✎
23:38
|
ДокументОснование = ЭтаФорма.ЭлементыФормы.пДокументОснование.Значение;
ДокОбъект = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); ДокОбъект.Дата = ТекущаяДата(); ДокОбъект.ТипЦен = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная"); ТЧОбъекта = ДокОбъект.Товары; Для каждого Стр Из ДокументОснование.Товары Цикл НоваяСтрока = ТЧОбъекта.Добавить(); НоваяСтрока.Номенклатура = Стр.Номенклатура; //НоваяСтрока.НомерСтроки = Стр.НомерСтроки; НоваяСтрока.Цена = Стр.Цена; КонецЦикла; ДокОбъект.Записать(); ФормаНовогоДокумента = ДокОбъект.ПолучитьФорму("ФормаДокумента"); ФормаНовогоДокумента.Открыть(); ЭтаФорма.Закрыть(); |
|||
17
Dionis Sergeevich
15.05.13
✎
23:38
|
И поубивай реквизиты формы.
Велком, че -_- |
|||
18
WhiteDragon93
15.05.13
✎
23:45
|
(17) с ценой не прокатит, фирма и закупочную цену вводит :) спасибо большое, сейчас попробую
|
|||
19
WhiteDragon93
15.05.13
✎
23:52
|
(17) у меня как всегда, то ли лыжи не едут, то ли...
если убрать все, связанное с ценой - "документ записан не корректно" если оставить как есть - {Форма.Основная.Форма(7)}: Поле объекта не обнаружено (ТипЦен) ДокОбъект.ТипЦен = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная"); |
|||
20
Dionis Sergeevich
15.05.13
✎
23:55
|
Комплексной под рукой нету. Посмотри документ Установка цен номенклатуры - там должен быть реквизит ТипЦен
|
|||
21
Dionis Sergeevich
15.05.13
✎
23:56
|
Может он там называется "ТипыЦен" или еще как
|
|||
22
WhiteDragon93
16.05.13
✎
00:00
|
(21) мне по сути нужно только номенклатуру в установку цен перенести, цену сами введут
|
|||
23
hhhh
16.05.13
✎
00:00
|
он в табличной части. во всех конфах.
|
|||
24
Dionis Sergeevich
16.05.13
✎
00:01
|
(22) Убирай тогда строку "НоваяСтрока.Цена = Стр.Цена;"
Но тип цен нужно будет указать |
|||
25
Dionis Sergeevich
16.05.13
✎
00:03
|
||||
26
WhiteDragon93
16.05.13
✎
00:03
|
(23) нет его в ТЧ, там есть список типов цен, при выборе которых (например 2: Розничная и Закупочная) создаются две колонки (соответственно, тоже 2)
|
|||
27
hhhh
16.05.13
✎
00:04
|
(22) Для каждого Стр Из ДокументОснование.Товары Цикл
НоваяСтрока = ТЧОбъекта.Добавить(); НоваяСтрока.Номенклатура = Стр.Номенклатура; НоваяСтрока.ТипЦен = Розничные; НоваяСтрока = ТЧОбъекта.Добавить(); НоваяСтрока.Номенклатура = Стр.Номенклатура; НоваяСтрока.ТипЦен = Закупочные; НоваяСтрока = ТЧОбъекта.Добавить(); НоваяСтрока.Номенклатура = Стр.Номенклатура; НоваяСтрока.ТипЦен = Оптовые; КонецЦикла; |
|||
28
hhhh
16.05.13
✎
00:04
|
(26) есть, глаза разуй.
|
|||
29
Dionis Sergeevich
16.05.13
✎
00:05
|
+(25) БП 2.0.37.8
|
|||
30
WhiteDragon93
16.05.13
✎
00:07
|
(26) он есть, но что, если выбирается 2 типа цен?
http://s018.radikal.ru/i524/1305/4a/eafdbc0c49df.jpg |
|||
31
Dionis Sergeevich
16.05.13
✎
00:07
|
(30) -> (27)
|
|||
32
Mashinist
16.05.13
✎
00:11
|
(31) то в ТЧ будет две строки с одним товаром, но с разными типами цен и разной ценой соответсвенно
|
|||
33
Mashinist
16.05.13
✎
00:12
|
тьху (32) -> (30)
|
|||
34
WhiteDragon93
16.05.13
✎
00:16
|
(33) а проведется документ, если будет дублироваться номенклатура и у каждой не будет по одному типу?
http://s45.radikal.ru/i110/1305/51/ab3beda45f4e.jpg |
|||
35
Dionis Sergeevich
16.05.13
✎
00:18
|
(34) будет как в (19) если не введешь тип цены
|
|||
36
WhiteDragon93
16.05.13
✎
00:19
|
ДокументОснование = ЭтаФорма.ЭлементыФормы.пДокументОснование.Значение;
ДокОбъект = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); ДокОбъект.Дата = ТекущаяДата(); Розничные = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная"); Закупочные = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Закупочная"); ТЧОбъекта = ДокОбъект.Товары; Для каждого Стр Из ДокументОснование.Товары Цикл НоваяСтрока = ТЧОбъекта.Добавить(); НоваяСтрока.Номенклатура = Стр.Номенклатура; НоваяСтрока.ТипЦен = Розничные; НоваяСтрока = ТЧОбъекта.Добавить(); НоваяСтрока.Номенклатура = Стр.Номенклатура; НоваяСтрока.ТипЦен = Закупочные; // НоваяСтрока = ТЧОбъекта.Добавить(); // НоваяСтрока.Номенклатура = Стр.Номенклатура; // // НоваяСтрока.ТипЦен = Оптовые; КонецЦикла; ДокОбъект.Записать(); ФормаНовогоДокумента = ДокОбъект.ПолучитьФорму("ФормаДокумента"); ФормаНовогоДокумента.Открыть(); ЭтаФорма.Закрыть(); Документ Установка цен номенклатуры 00000000011 от 16.05.2013 0:18:24 был записан некорректно! Информация о ценах очищена. |
|||
37
Dionis Sergeevich
16.05.13
✎
00:23
|
Смотри обязательные для заполнения поля и реквизиты документа. "красненькие" в форме документа в режиме предприятия
|
|||
38
WhiteDragon93
16.05.13
✎
00:36
|
(37) там есть способ расчета цены, не знаю откуда он берется.
|
|||
39
Dionis Sergeevich
16.05.13
✎
00:36
|
(38) Тип его посмотри - узнаешь
|
|||
40
WhiteDragon93
16.05.13
✎
00:37
|
(39) нашел, это перечисление
|
|||
41
WhiteDragon93
16.05.13
✎
00:43
|
(39)это, по ходу, глупая затея, т.к. если будет происходит то, что написано в (32), то смысл обработки?
|
|||
42
Dionis Sergeevich
16.05.13
✎
00:50
|
(41) Сначала надо о смысле думать. А потом делать
|
|||
43
WhiteDragon93
16.05.13
✎
00:51
|
(42) смысл обработки - заполнить установку цен номенклатурой, для того, чтобы не выбирать дважды, скажем 300 позиций
|
|||
44
WhiteDragon93
16.05.13
✎
01:01
|
(42) да и я - дебил... при выборе номенклатуры, автоматически заполняются все обязательные реквизиты ТЧ. Главное, если возможно, построчно передать ссылки на номенклатуру.
|
|||
45
hhhh
16.05.13
✎
04:18
|
(44) то, что видишь на форме там - это не ТЧ. Это левая таблица значений, заполняемая на лету.
ТЧ смотри в конфигураторе. |
|||
46
ivanov-i-i
16.05.13
✎
06:32
|
(0) В документе есть кнопка Заполнить, далее Заполнить по поступлению. Смотри как сделано для документа Поступление, думаю переделать под Оприходование не составит большого труда.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |