Выгрузка УТ-Розница. Как передать в ПКГС склад приемника которого в источнике вообще нет.

1. Artem1405 25 21.01.16 11:33 Сейчас в теме
Перегуглил весь интернет и не могу найти решение, везде примеры "Реквизит источника в тч приемника. Но склад в УТ - магазин в Рознице, и по этому склад Розницы в табличную часть нужно получить из приемника.

В ПКО в обработчике событий "После выгрузки" получаю склад.
Запрос = Новый Запрос("ВЫБРАТЬ
|    Склады.Ссылка КАК Склад
|ИЗ
|    Справочник.Склады КАК Склады
|ГДЕ
|    Склады.Организация = &Организация
|    И Склады.Магазин = &Магазин");

Запрос.УстановитьПараметр("Организация", Объект.Организация);
Запрос.УстановитьПараметр("Магазин", Объект.Магазин);    
Выборка = Запрос.Выполнить().Выбрать();
    
Если Выборка.Следующий() Тогда
	Склад = Выборка.Склад
КонецЕсли;
Показать


Как его передать в ПКГС чтобы добавить его в строки табличной части?
Вознаграждение за ответ
Показать полностью
Найденные решения
31. Xershi 1486 22.01.16 08:53 Сейчас в теме
(28) seva1405, запрос перенеси в ПКГС это минимум.
Затем обойди результат и присвой склад. Сейчас ты в склад просто выборку засунул.
Запрос = Новый Запрос;
Запрос.Текст = 
	"ВЫБРАТЬ
	|	СправкаОВыполненныхРаботах.Ссылка КАК Акты,
	|	СправкаОбУслугахГенподрядчика.Ссылка КАК СубАкты
	|ИЗ
	|	Документ.СправкаОВыполненныхРаботах КАК СправкаОВыполненныхРаботах
	|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.СправкаОбУслугахГенподрядчика КАК СправкаОбУслугахГенподрядчика
	|		ПО СправкаОВыполненныхРаботах.СправкаГенподряда = СправкаОбУслугахГенподрядчика.Ссылка
	|			И СправкаОВыполненныхРаботах.Проект = СправкаОбУслугахГенподрядчика.Проект
	|ГДЕ
	|	СправкаОВыполненныхРаботах.Проект = &Проект";

Запрос.УстановитьПараметр("Проект", Проект);

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

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

КоллекцияОбъектов = Новый ТаблицаЗначений();
КоллекцияОбъектов.Колонки.Добавить("АктВх");
КоллекцияОбъектов.Колонки.Добавить("АктИсх");

Пока Выборка.Следующий() Цикл
	СтрокаТаблицыМонтажа = КоллекцияОбъектов.Добавить();
	СтрокаТаблицыМонтажа.АктИсх = Выборка.Акты;
	СтрокаТаблицыМонтажа.АктВх = Выборка.СубАкты;	
КонецЦикла;
Показать


Вот так пишется код в ПКГС.
И вот так в ПКС:
Значение = ОбъектКоллекции.АктВх;


По аналогии вставь свое.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Artem1405 25 21.01.16 11:36 Сейчас в теме
3. capitan 2473 21.01.16 11:58 Сейчас в теме
4. Artem1405 25 21.01.16 12:10 Сейчас в теме
Нет, в ут склад это магазин в рознице. А мне нужно склад розницы который подчинен магазину. склады уже заведены в рознице нужно только подставить нужный склад в табличную часть.

Реквизиты в отчете о розничных продажах в Рознице 2.1:
Организация, магазин, касса ккм.

Реквизиты ТЧ:
Номенклатура
Количество
цена
Сумма
Склад - Вот именно его мне нужно заполнить (выбрать по магазину и организации)

Его нет в УТ 11.1 вообще.
5. insurgut 207 21.01.16 12:35 Сейчас в теме
(4) seva1405, в 10.3 это вроде как при загрузке выполняется. Поиск по ТЧ СоответствиеМагазиновИСкладов. Сам код передается в виде строки, по нему в соответствии находится и сам склад.
6. Artem1405 25 21.01.16 12:41 Сейчас в теме
(5) insurgut, а можно подробнее? Просто при загрузке не получить склад из приемника там можно только из источника а в источнике нет его.
7. Xershi 1486 21.01.16 12:55 Сейчас в теме
(6) seva1405, можно оставить пустой источник и написать свой алгоритм получения значения. для ПКГС можно сделать коллекцию и потом получая данные их записывать в таблицу.
9. Artem1405 25 21.01.16 12:59 Сейчас в теме
(7) Xershi, если б еще знал как, то и тему не стал бы создавать. Проблема то в том что клад только в приемнике а остальные данные в источнике, как получить эти данные?
10. Xershi 1486 21.01.16 13:02 Сейчас в теме
(9) seva1405, вопрос в том что ваш магаз в источнике вообще никак не зафиксирован?
Тогда откуда он появится в перенесенном документе?
8. Xershi 1486 21.01.16 12:59 Сейчас в теме
(6) seva1405, можно заполнить значения и после загрузки. У вас же версия 1с8 в 1с8!
11. Xershi 1486 21.01.16 13:03 Сейчас в теме
Скриншоты лучше покидайте что и куда у вас не стает, тогда можно сразу выписать вам рецепт))
12. Artem1405 25 21.01.16 13:08 Сейчас в теме
В документе ПКО Склад -> Магазин есть а в табличной части нужен склад который подчинен магазину.
13. capitan 2473 21.01.16 13:09 Сейчас в теме
Тогда "После записи объекта" перебирайте строки и заполняйте склад по магазину
14. Artem1405 25 21.01.16 13:09 Сейчас в теме
Склад->Магазин это реквизит документа а склад в табличной части это другой справочник.
15. Xershi 1486 21.01.16 13:12 Сейчас в теме
(14) seva1405, скиньте скрин ПКО чтобы понятно было.
А так не вижу проблемы прописать свойство элемента таблицы как склад и прописать правило вашего ПКО.
16. Artem1405 25 21.01.16 13:23 Сейчас в теме
17. Xershi 1486 21.01.16 14:23 Сейчас в теме
(16) seva1405, ну теперь все ясно. Магазин это у вас идет как склад, а у этого склада есть подсклад, который в табличной части проставиться должен?
18. Artem1405 25 21.01.16 14:29 Сейчас в теме
19. Artem1405 25 21.01.16 14:33 Сейчас в теме
Только он еще должен проставиться в зависимости от магазина и организации которые в документе.
20. Xershi 1486 21.01.16 14:33 Сейчас в теме
В обработчике "После загрузки" можно прописать:

Объект.Организация = Справочники.Организации.НайтиПоКоду("000000001");

Заменив на ваш склад и магазин
21. Artem1405 25 21.01.16 15:26 Сейчас в теме
Это же не подходит так как значение меняется в зависимости от организации и магазина.
В базе 10 магазинов в каждом по 2 склада. Деление чеков происходит по остаткам на складах в каждом магазине.
Приобрел незабываемый горький опыт внедрения УТ в связке с розницей. После года постоянных исправлений ошибок, пытаюсь перенести все в новую розницу.
22. Xershi 1486 21.01.16 15:34 Сейчас в теме
(21) seva1405, что значит не подходит? Нашли склад магаза и встали чем это не подходит?
23. Artem1405 25 21.01.16 15:45 Сейчас в теме
Ну может я не правильно понял, это ПКС склада прописать или ПКГС или ПКО?
24. Xershi 1486 21.01.16 15:45 Сейчас в теме
(23) seva1405, в пкс элемента таблицы.
25. Artem1405 25 21.01.16 16:32 Сейчас в теме
Я что то запутался. Получается я пишу в пкс

Значение = Справочники.Склады.НайтиПоКоду("0000001");

Но Ведь если я так напишу то во всех ОРП проставится один и тот же склад.

Обратиться к складу через магазин я не могу т.к. у магазина 2 склада которые относятся к разным организациям. Получить склад обратившись к организации я не могу у организации нет реквизита склад.

В Итоге получается что нужно выбирать склад запросом устанавливая параметры "магазин и организацию документа", склад я получил после выгрузки в первом посте, мне нужно его передать в ПКГС вот тут я никак не могу найти информацию как это правильно сделать.

Я пытался передать во входящие данные:
Запрос = Новый Запрос("ВЫБРАТЬ
|    Склады.Ссылка КАК Склад
|ИЗ
|    Справочник.Склады КАК Склады
|ГДЕ
|    Склады.Организация = &Организация
|    И Склады.Магазин = &Магазин");

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


Затем в ПКГС
ОбъектКоллеции.Склад  = ВходящиеДанные.Склад;

Не работает.
26. Xershi 1486 21.01.16 16:59 Сейчас в теме
(25) seva1405, ну так попробуй
СкладМагазина = РезультатЗапросаНаписаныйВРознице;
ОбъектКоллеции.Склад  = СкладМагазина;


Параметром возьмешь Объект.Магазин
27. Xershi 1486 21.01.16 16:59 Сейчас в теме
(25) seva1405, и не должно было работать.
28. Artem1405 25 22.01.16 07:05 Сейчас в теме
31. Xershi 1486 22.01.16 08:53 Сейчас в теме
(28) seva1405, запрос перенеси в ПКГС это минимум.
Затем обойди результат и присвой склад. Сейчас ты в склад просто выборку засунул.
Запрос = Новый Запрос;
Запрос.Текст = 
	"ВЫБРАТЬ
	|	СправкаОВыполненныхРаботах.Ссылка КАК Акты,
	|	СправкаОбУслугахГенподрядчика.Ссылка КАК СубАкты
	|ИЗ
	|	Документ.СправкаОВыполненныхРаботах КАК СправкаОВыполненныхРаботах
	|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.СправкаОбУслугахГенподрядчика КАК СправкаОбУслугахГенподрядчика
	|		ПО СправкаОВыполненныхРаботах.СправкаГенподряда = СправкаОбУслугахГенподрядчика.Ссылка
	|			И СправкаОВыполненныхРаботах.Проект = СправкаОбУслугахГенподрядчика.Проект
	|ГДЕ
	|	СправкаОВыполненныхРаботах.Проект = &Проект";

Запрос.УстановитьПараметр("Проект", Проект);

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

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

КоллекцияОбъектов = Новый ТаблицаЗначений();
КоллекцияОбъектов.Колонки.Добавить("АктВх");
КоллекцияОбъектов.Колонки.Добавить("АктИсх");

Пока Выборка.Следующий() Цикл
	СтрокаТаблицыМонтажа = КоллекцияОбъектов.Добавить();
	СтрокаТаблицыМонтажа.АктИсх = Выборка.Акты;
	СтрокаТаблицыМонтажа.АктВх = Выборка.СубАкты;	
КонецЦикла;
Показать


Вот так пишется код в ПКГС.
И вот так в ПКС:
Значение = ОбъектКоллекции.АктВх;


По аналогии вставь свое.
40. kasper076 105 22.01.16 14:45 Сейчас в теме
ПКО ПриВыгрузке
Запрос.УстановитьПараметр("Организация", ИСТОЧНИК.Организация);
Запрос.УстановитьПараметр("Магазин", ИСТОЧНИК.Магазин);    
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
    ИСХОДЯЩИЕДанные.Вставить("Слад",Выборка.Склад)
КонецЕсли;


ПКГС
ОбъектКоллеции.Склад  = ВходящиеДанные.Склад;


ВЫДЕЛИЛ ЗАГЛАВНЫМИ

(31) пкгс выполняется для каждого элемента коллекции. какой смысл запрос переносить в ПКГС? Если только для каждой строки ТЧ свой склад указывается.
41. Artem1405 25 22.01.16 15:22 Сейчас в теме
(40) kasper076, В ПКО при выгрузке написал:

Запрос = Новый Запрос("ВЫБРАТЬ
|    Склады.Ссылка КАК Склад
|ИЗ
|    Справочник.Склады КАК Склады
|ГДЕ
|    Склады.Организация = &Организация
|    И Склады.Магазин = &Магазин");

Запрос.УстановитьПараметр("Организация", Источник.Организация);
Запрос.УстановитьПараметр("Магазин", Источник.Магазин);    
Выборка = Запрос.Выполнить().Выбрать();
    
Если Выборка.Следующий() Тогда
    ИСХОДЯЩИЕДанные.Вставить("Слад",Выборка.Склад)
КонецЕсли;
Показать


Это не работает потому что нужно выбирать из приемника.

43. Xershi 1486 22.01.16 15:24 Сейчас в теме
(41) seva1405, так он не прочитал (наверно), что склада нет в источнике.
49. kasper076 105 25.01.16 07:08 Сейчас в теме
(41) seva1405, так ведь ругается на то, что в справочнике Склады нет реквизита Организация. В Рознице вообще нет складов? Только магазины? Если так, то где-то должно хранится соответствие магазина розницы складу УТ. Если в Рознице нет этого соответствия, то вместо склада нужно выгружать УИД магазина, а при загрузке находить в УТ соответствующий ему склад.
50. Artem1405 25 25.01.16 15:09 Сейчас в теме
(49) kasper076, В рознице есть склады -подсклад магазина.
В УТ есть склады но подсклада нету.

В правилах есть конвертация складов в магазины, а мне нужно подсклад магазина получить которого нет в УТ он есть только в рознице. При этом его нужно вычислить по организации и магазину установленными в документе.


Пример:
Есть 2 организации ИП и ООО
Есть 2 магазина маг1 и маг2
есть 2 склада у маг1 и два у маг2 т.е. их 4 склада.
Каждый склад у магазина принадлежит организации к примеру ИП-Маг1-Склад1, ООО-маг1-Склад2. ИП-маг2-Склад3, ООО-маг2-Склад4.
В документе организация - ООО, магазин-Маг1. Значит склад должен быть Склад2.

В УТ есть склад но это Маг1 или Маг2 в Рознице и больше ничего.

Проблему решить не возможно. Вернее я решил ее но не в конвертации, а обработкой.
51. Xershi 1486 25.01.16 15:25 Сейчас в теме
(50) seva1405, я же тебе написал, как можно заполнить реквизит, которого нет в источнике, а заполняется после загрузки документа в базу.
52. Artem1405 25 25.01.16 17:01 Сейчас в теме
(51) Xershi, я так и не успел проверить, чуть позже проверю.
53. adva 45 26.01.16 09:46 Сейчас в теме
(51) твои советы в (31) и (46) не верны.

Т.к. склад нужно получать из приемника, то подходят только события ПослеЗагрузки. Это событие реализовано только для ПКО, никаких ПКС и ПКГС, а также "Значение = ...".

Правильно, как я указал в (32) : Объект.Склад = ... (в ПослеЗагрузки для ПКО).

А твои советы подходят для случая, когда самого объекта-источника нет, но его реквизиты могут быть получены только в источнике.
54. Xershi 1486 26.01.16 10:15 Сейчас в теме
(53) adva, возможно, но на практике не проверял, таких задач не было. По моей логике должно сработать.
55. Artem1405 25 26.01.16 17:06 Сейчас в теме
(53) adva, Все сработало на отлично.
42. Xershi 1486 22.01.16 15:23 Сейчас в теме
(40) kasper076, ну у меня была задача с разными данными.
Ваш вариант я не тестировал, задач по КД уже давно нет.

Привел РАБОЧИЙ пример!
37. adva 45 22.01.16 10:22 Сейчас в теме
К первому скрину из (28) надо добавить код из (32). Правда там предварительно выборку открыть надо, и получить конкретное значение склада.
29. Artem1405 25 22.01.16 07:44 Сейчас в теме
Я только сейчас обратил внимание на ошибку. Если правило склада отключить то выгружает, а при включении поля пишет: не обнаружено.


В конфигураций розницы поле склад в строке тч есть а конвертация его не видит получается
30. Xershi 1486 22.01.16 08:34 Сейчас в теме
Чутка ты не так сделал.
Приеду напишу что не правильно
32. adva 45 22.01.16 10:04 Сейчас в теме
Если склад получается из приемника, то в обработчике ПослеЗагрузки объекта в ПКО

должно быть что то вроде такого:

НужныйСклад = ... // тут ищем нужный склад по любому нужному алгоритму или запросу;

НужныйСклад = Объект.Магазин.Склад; (это только пример, не изучал тему, и не знаю, какой склад нужен).


Объект.Склад = НужныйСклад;

Для каждого стр Из Объект.ИмяТабличнойЧасти Цикл
   Стр.Склад = НужныйСклад;
КонецЦикла
Показать


Объект здесь, это документ (к которому относиться ПКО).
33. Xershi 1486 22.01.16 10:09 Сейчас в теме
34. adva 45 22.01.16 10:13 Сейчас в теме
(33) вроде как в ПКС нет обработчиков ПослеЗагрузки
38. Xershi 1486 22.01.16 11:55 Сейчас в теме
(34) adva, после выгрузки есть.
35. adva 45 22.01.16 10:14 Сейчас в теме
В ПослеЗагрузки данные доступны из базы приемника, в ПередВыгрузкой/привыгрузке - из базы источника.


Исходя из этого и запросы либо к базе источника, либо к базе приемника
36. adva 45 22.01.16 10:17 Сейчас в теме
И еще "Объект" и "Значение" между собой не пересекаются, т.к. Объект относится к приемнику, а Значение - к источнику.
39. Artem1405 25 22.01.16 14:39 Сейчас в теме
В общем времени уже не осталось выгрузил без складов потом внешней обработкой прошелся по документам и заполнил склад.
44. Xershi 1486 22.01.16 15:25 Сейчас в теме
(39) seva1405, так почему не сделали как я написал, за минуту бы все поправили.
45. Artem1405 25 22.01.16 16:00 Сейчас в теме
да в итоге вообще склад не получилось перенести хоть с алгоритмами хоть без,

выгружает только если пкс-склад отключить.
46. Xershi 1486 22.01.16 16:03 Сейчас в теме
(45) seva1405, так покажи что ты и куда прописал?

Возможно перед выгрузкой в ПКС нужно написать
Значение = Источник;
47. Artem1405 25 22.01.16 16:50 Сейчас в теме
Я по разному пытался, потом вообще все удалил и пытался так выгрузить, там нет ничего пустые ПКО,ПКГС и ПКС, но все равно не дает причем при выгрузке из ут говорит что склад не обнаружен.
48. Xershi 1486 22.01.16 18:58 Сейчас в теме
(47) seva1405, сделай как в 31 и 46. И что выйдет.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот