|
Помогите организовать загрузку документов ПН из табл.части обработки | ☑ | ||
---|---|---|---|---|
0
Бестия
10.01.12
✎
21:32
|
Помогите плиз с организацией загрузки документов новичку в программировании 8.2. Написала обработку по загрузке дбф файла в табличную часть обработки, а теперь не могу организовать создание документов Поступление товаров и услуг ( 8.2утп) из табл части в документы.
В таб части след. поля НомерДок / товар Ном1 Товар1 Ном1 Товар2 Ном2 Товар1 Ном2 Товар2 В данном случае мне нужно загрузить два документа. Вот что пытаюсь сделать, но ничего не получается &НаКлиенте Процедура ОсновныеДействияФормыЗагрузитьПриход(Кнопка) // Вставить содержимое обработчика. Если СоздатьНовыйДокументНаСервере() = 0 Тогда Сообщить("Не удалось создать новый документ поступления товаров и услуг"); КонецЕсли; КонецПроцедуры &НаСервере Функция СоздатьНовыйДокументНаСервере() Перем НоваяПриходнаяНакладная; Перем СтрокаТЧ; //Д=Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); ТЧОбработка= ОбработкаОбъект.Приход; для каждого НовСтр из ОбработкаОбъект.Приход.Количество() цикл НДок=Новстр.НомерДокумента; НоваяПриходнаяНакладная=Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); //Заполняем реквизиты шапки НоваяПриходнаяНакладная.Дата= ДатаПриХода; НоваяПриходнаяНакладная.Организация =Справочники.Организации.НайтиПоКоду(1); НоваяПриходнаяНакладная.Контрагент=ОбработкаОбъект.Поставщик; НоваяПриходнаяНакладная.Склад=ОбработкаОбъект.Склад; НоваяПриходнаяНакладная.НомерВходящегоДокумента=НовСтр.НомерДокумента; пока Ндок= НоваяПриходнаяНакладная.НомерВходящегоДокумента цикл //Заполняем табличную часть СтрокаТЧ=НоваяПриходнаяНакладная.ТЧТовары.Добавить(); СтрокаТЧ.Товар=Новстр.НазваниеТовара; Попытка НоваяПриходнаяНакладная.Записать(); Возврат 1; Исключение Возврат 0; КонецПопытки; конеццикла; конеццикла КонецФункции |
|||
1
vicof
10.01.12
✎
21:37
|
1с молчит и ничего не говорит. Отладчик тоже. Да и телепаты от праздников не отошли.
|
|||
2
zif
10.01.12
✎
21:41
|
(0) А ты уверена, что не изобретаешь велосипед?
Конфа типовая 8.2? В них во многих есть загрузка в документы/справочники из Экселя |
|||
3
Бестия
10.01.12
✎
21:43
|
(2) нужно немножко изобрести, т.к. файлы идут в дбф их много, никто в экселе не пришлет однозначно, а мои пользователи не в состоянии будут их переводить в другой формат вот и мучаюсь.
|
|||
4
zif
10.01.12
✎
21:45
|
А что конкретно в (0) не получается-то?
|
|||
5
DrShad
10.01.12
✎
21:46
|
и где фотка?
|
|||
6
zif
10.01.12
✎
21:49
|
пока Ндок=НоваяПриходнаяНакладная.НомерВходящегоДокумента цикл
//Заполняем табличную часть СтрокаТЧ=НоваяПриходнаяНакладная.ТЧТовары.Добавить(); СтрокаТЧ.Товар=Новстр.НазваниеТовара; Попытка НоваяПриходнаяНакладная.Записать(); Возврат 1; Исключение Возврат 0; КонецПопытки; конеццикла; энто ж бесконечный цикл |
|||
7
DrShad
10.01.12
✎
21:51
|
(6) да не совсем
|
|||
8
zif
10.01.12
✎
21:51
|
тьфу, туплю, там возврат
но как-то алгоритм черз жпо построен... |
|||
9
DrShad
10.01.12
✎
21:52
|
а вобще по коду из (0) тут фотка нужна как минимум топлесс
|
|||
10
aleks-id
10.01.12
✎
21:56
|
>>для каждого НовСтр из ОбработкаОбъект.Приход.Количество()
для каждого НовСтр из ОбработкаОбъект.Приход |
|||
11
zif
10.01.12
✎
21:56
|
(0) все переписать
1. выгружаешь столбец номердок, сворачиваешь, получаешь список уникальных доков 2. для каждого уникального дока через ТЗ.НайтиСтроки() получаешь массивы егоной номенклатуры, заполняешь ими ТЧ |
|||
12
aleks-id
10.01.12
✎
21:58
|
а вообще код в топку
|
|||
13
zif
10.01.12
✎
21:58
|
а вообще коллега из (9) безусловно прав
|
|||
14
Бестия
11.01.12
✎
10:25
|
(13) (9) ну... топлес не обещаю, а вообще можно что то придумать на счет фотки)))
|
|||
15
Бестия
11.01.12
✎
10:29
|
(12) содержательный ответ, прям оптимистический я бы сказала.
|
|||
16
hhhh
11.01.12
✎
10:32
|
(15) ну сама вчитайся в то, что ты наваяла:
... из ОбработкаОбъект.Приход.Количество() это разве не в топку? |
|||
17
Бестия
11.01.12
✎
10:39
|
(16) тяжело пока привыкнуть к 8.2, написала по принципу 7.7., возможно и в топку, но я же прошу помощи. Поняла что нужно вот так ОбработкаОбъект.Приход
|
|||
18
Бестия
11.01.12
✎
13:21
|
&НаСервере
Функция СоздатьНовыйДокументНаСервере() Перем НоваяПриходнаяНакладная; Перем СтрокаТЧ; ПрошлыйНомер = ""; ТекДок = ""; ТЧОбработка= ОбработкаОбъект.Приход; для каждого НовСтр из ОбработкаОбъект.Приход цикл НДок=Новстр.НомерДокумента; если НДок <> ПрошлыйНомер Тогда Если ТекДок <> "" Тогда НоваяПриходнаяНакладная.Записать(); Конецесли; НоваяПриходнаяНакладная=Документы.ПоступлениеТоваровУслуг.СоздатьДокумент(); //Заполняем реквизиты шапки НоваяПриходнаяНакладная.Дата= ДатаПриХода; НоваяПриходнаяНакладная.Организация =Справочники.Организации.НайтиПоКоду(1); НоваяПриходнаяНакладная.Контрагент=ОбработкаОбъект.Поставщик; НоваяПриходнаяНакладная.НомерВходящегоДокумента=НовСтр.НомерДокумента; Конецесли; //Заполняем табличную часть СтрокаТЧ=НоваяПриходнаяНакладная.Товары.Добавить(); СтрокаТЧ.Номенклатура=Новстр.НазваниеТовара; СтрокаТЧ.Количество=Новстр.Количество; //Попытка //НоваяПриходнаяНакладная.Записать(); //Возврат 1; //Исключение //Возврат 0; //КонецПопытки; ПрошлыйНомер = НДок; конецциклаКонецФункции По моему зашла в тупик |
|||
19
Бестия
11.01.12
✎
14:32
|
Тема закрыта, получилась красивая обработка по импорту документов из дбф, в документы "поступление товаров и услуг".
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |