![]() |
![]() |
![]() |
|
Документ инвентаризации - заполнение из внешней обработки | ☑ | ||
---|---|---|---|---|
0
Масянька
04.03.19
✎
12:31
|
День добрый!
Имеется: док-т инвентаризации (типовой, бухгалтерия, на поддержке). Нужно из внешней обработки создать и заполнить остатками. В модуле док-та есть: Процедура ЗаполнитьПоОстаткам(ПараметрыЗаполнения, АдресХранилища) Экспорт Результат = НовыйРезультатЗаполнения(); Если ПараметрыЗаполнения.ВыполнитьКорректировкуСтоимости Тогда РезультатКорректировки = Обработки.ЗакрытиеМесяца.АктуализироватьОстатки(ПараметрыЗаполнения.ПараметрыКорректировкиСтоимости); Если ТипЗнч(РезультатКорректировки) <> Тип("Структура") Или Не РезультатКорректировки.Свойство("Отказ") Или Не РезультатКорректировки.Свойство("Ссылка") Тогда Возврат; КонецЕсли; Результат.ОткрытьФормуОшибки = РезультатКорректировки.Отказ; Результат.ОперацияКорректировкаСтоимости = РезультатКорректировки.Ссылка; КонецЕсли; Если Не Результат.ОткрытьФормуОшибки Тогда Результат.ТаблицаТовары = ЗаполнитьПоОстаткамНаСкладе(ПараметрыЗаполнения); КонецЕсли; ПоместитьВоВременноеХранилище(Результат, АдресХранилища); КонецПроцедуры Во внешней обработке делаю: &НаСервере Функция ДелаемИнветаризацию() // док-т "Инвентаризация" ДокИнвентаризация = Документы.ИнвентаризацияТоваровНаСкладе.СоздатьДокумент(); // шапка ДокИнвентаризация.Организация = Объект.Организация; ДокИнвентаризация.Склад = Объект.Склад; ДокИнвентаризация.Дата = Объект.ДатаИнвентаризации; ДокИнвентаризация.Записать(); ПараметрыЗаполнения = Новый Структура; ПараметрыЗаполнения.Вставить("НазваниеДействия", "Заполнить"); ПараметрыЗаполнения.Вставить("ВыполнитьКорректировкуСтоимости", Ложь); ПараметрыЗаполнения.Вставить("ПараметрыКорректировкиСтоимости"); ПараметрыЗаполнения.Вставить("ИспользуетсяОтложенноеПроведение", Ложь); ПараметрыЗаполнения.Вставить("Ссылка", ДокИнвентаризация.Ссылка); ПараметрыЗаполнения.Вставить("ОтветственноеЛицо", Справочники.ФизическиеЛица.ПустаяСсылка()); ПараметрыЗаполнения.Вставить("Дата", Объект.ДатаИнвентаризации); ПараметрыЗаполнения.Вставить("Склад", Объект.Склад); ПараметрыЗаполнения.Вставить("Организация", Объект.Организация); СтрокаХранилища = ""; Документы.ИнвентаризацияТоваровНаСкладе.ЗаполнитьПоОстаткам(ПараметрыЗаполнения, СтрокаХранилища); ДокИнвентаризация.Товары = ПолучитьИзВременногоХранилища(СтрокаХранилища); Попытка ДокИнвентаризация.Записать(РежимЗаписиДокумента.Проведение); Исключение Сообщить("Не удалось провести документ: " + ДокИнвентаризация); Возврат Неопределено; КонецПопытки; КонецФункции Выдает ошибку - Недопустимое значение параметра (параметр номер '1'). Вопрос - как вытащить товары из результата? Спасибо. |
|||
1
Масянька
04.03.19
✎
12:54
|
Люди!
А почему все молчат? |
|||
2
hhhh
04.03.19
✎
12:59
|
(1) ну, строку с ошибкой указать? Это за пределами возможностей?
|
|||
3
Галахад
гуру
04.03.19
✎
13:00
|
А адрес, Пушкин будет указывать?
|
|||
4
Масянька
04.03.19
✎
13:00
|
(2) ДокИнвентаризация.Товары = ПолучитьИзВременногоХранилища(СтрокаХранилища);
|
|||
5
Масянька
04.03.19
✎
13:01
|
(3) Мне тут совсем не понятно...
Расскажи, пожалуйста. |
|||
6
catena
04.03.19
✎
13:03
|
А разве для вызова процедуры из модуля не к объекту нужно обращаться?
|
|||
7
Галахад
гуру
04.03.19
✎
13:04
|
СтрокаХранилища = "";
ДокИнвентаризация.Товары = ПолучитьИзВременногоХранилища(СтрокаХранилища); |
|||
8
Масянька
04.03.19
✎
13:07
|
(7) Дык, на нее и ругается.
|
|||
9
Масянька
04.03.19
✎
13:07
|
(6) На эту строку - Документы.ИнвентаризацияТоваровНаСкладе.ЗаполнитьПоОстаткам(ПараметрыЗаполнения, СтрокаХранилища); - не ругается.
|
|||
10
RomanYS
04.03.19
✎
13:09
|
(4) ДокИнвентаризация.Товары это ТЧ. Их вроде нельзя присваивать. Можно ДокИнвентаризация.Товары.загрузить(ТЗ)
|
|||
11
Garykom
гуру
04.03.19
✎
13:11
|
СтрокаХранилища = "";
Документы.ИнвентаризацияТоваровНаСкладе.ЗаполнитьПоОстаткам(ПараметрыЗаполнения, СтрокаХранилища); ДокИнвентаризация.Товары = ПолучитьИзВременногоХранилища(СтрокаХранилища); Прикольно |
|||
12
Garykom
гуру
04.03.19
✎
13:12
|
Результат = НовыйРезультатЗаполнения();
там что внутри? |
|||
13
Масянька
04.03.19
✎
13:13
|
(10) ДокИнвентаризация.Товары.Загрузить(СтрокаХранилища); - Несоответствие типов (параметр номер '1')
|
|||
14
Garykom
гуру
04.03.19
✎
13:13
|
(13) См (12)
|
|||
15
Масянька
04.03.19
✎
13:14
|
(12) Функция НовыйРезультатЗаполнения() Экспорт
СтруктураПараметров = Новый Структура; СтруктураПараметров.Вставить("ЗаданиеВыполнено", Ложь); СтруктураПараметров.Вставить("ОткрытьФормуОшибки", Ложь); СтруктураПараметров.Вставить("ОперацияКорректировкаСтоимости"); СтруктураПараметров.Вставить("ТаблицаТовары"); Возврат СтруктураПараметров; КонецФункции Это в модуле док-та. Щас в обработке попробую прописать. |
|||
16
Garykom
гуру
04.03.19
✎
13:14
|
(13) ДокИнвентаризация.Товары.Загрузить(ПолучитьИзВременногоХранилища(СтрокаХранилища).ТаблицаТовары)
|
|||
17
Масянька
04.03.19
✎
13:26
|
(16) СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("ЗаданиеВыполнено", Ложь); СтруктураПараметров.Вставить("ОткрытьФормуОшибки", Ложь); СтруктураПараметров.Вставить("ОперацияКорректировкаСтоимости"); СтруктураПараметров.Вставить("ТаблицаТовары"); Документы.ИнвентаризацияТоваровНаСкладе.ЗаполнитьПоОстаткам(ПараметрыЗаполнения, СтруктураПараметров); ДокИнвентаризация.Товары.Загрузить(ПолучитьИзВременногоХранилища(СтруктураПараметров).ТаблицаТовары); Неправильный путь к файлу "Структура". |
|||
18
Garykom
гуру
04.03.19
✎
13:33
|
(17) Ты издеваешся? У тебя в (0) просто исправь строки (11)
И адрес хранилища прочитай http://1s-portal.ru/index.php/stati/common-questions/27-project/110-vremennoe-hranilishe-v-1s-82.html |
|||
19
Garykom
гуру
04.03.19
✎
13:33
|
(18) *и про адрес хранилища прочитай
|
|||
20
Garykom
гуру
04.03.19
✎
13:35
|
СтрокаХранилища = Новый УникальныйИдентификатор;
|
|||
21
Масянька
04.03.19
✎
13:43
|
(18) Неправильный путь к файлу '3cc547cf-0a70-45e6-8dc6-bceccb8b028b'
|
|||
22
Garykom
гуру
04.03.19
✎
13:52
|
(21) СтрокаХранилища = ПоместитьВоВременноеХранилище("", Новый УникальныйИдентификатор);
|
|||
23
Масянька
04.03.19
✎
14:02
|
(22) Интересненько...
Вот это - ПоместитьВоВременноеХранилище(Результат, АдресХранилища); - сидит в модуле менеджера док-та (напонимаю, конфа на замке). Я у себя в обработке запускаю - Документы.ИнвентаризацияТоваровНаСкладе.ЗаполнитьПоОстаткам(ПараметрыЗаполнения, СтрокаХранилища); Где писать-то Строка....? |
|||
24
Garykom
гуру
04.03.19
✎
14:13
|
Вот перед этим и писать, по идентификатору адрес получаешь путем помещения пустой строки и затем этот адрес передаешь
Затем по адресу получаешь заполненное |
|||
25
Масянька
04.03.19
✎
14:14
|
(24) Перед этим - это в док-те?
|
|||
26
Garykom
гуру
04.03.19
✎
14:19
|
Блин запишись уже на курсы
|
|||
27
Масянька
04.03.19
✎
14:24
|
(26) Кройки и шитья? :))))
Спасибо (персональное). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |