|
КД: перенос реализации из УТ8 в УСН77 | ☑ | ||
---|---|---|---|---|
0
tpmi
30.08.11
✎
15:36
|
В восьмёрке реализации содержат и товары, и услуги. Соответственно, появляются документы с двумя табличными частями.
В семёрке у документа может быть только одна табличная часть. Чтобы эту проблему разрешить, сделаны правила, которые делают из одной реализации две - с товарами и услугами, по отдельности. Проблема при этом возникает такая: документы получают одинаковые номера и переписываются. Правила поиска по умолчанию - контрагент по ИНН и дата документа. Если добавить поиск по номеру, и генерировать номер для второго документа (например, для услуг добавить в конец номера букву "У"), то документы переписываться перестают, но не находятся (естественно) документы, которые уже есть в семёрке, ибо у бухгалтеров другой набор документов и совсем другие номера. Как можно поступить в такой ситуации? |
|||
1
nicxxx
30.08.11
✎
15:48
|
это же очевидно - написать выгрузку табличной части как виртуальной, собирать одну т.ч. из двух. чего тут еще думать. примеры есть на инфостарте
|
|||
2
Поручик
30.08.11
✎
16:01
|
(0) Как бы намёк.
В ПКГС ПередОбработкой собирать КоллекцияОбъектов из двух ТЧ. |
|||
3
Поручик
30.08.11
✎
16:02
|
В ПКГС Товары в обработчике ПередОбработкой собирать КоллекцияОбъектов из двух ТЧ.
|
|||
4
tpmi
30.08.11
✎
16:25
|
(3) Как именно собирать?
КоллекцияОбъектов = Источник.Товары; // даёт тип Документ табличная часть: Товары Как теперь туда услуги записать? |
|||
5
tpmi
30.08.11
✎
16:32
|
КоллекцияОбъектов = Новый ТаблицаЗначений;
КоллекцияОбъектов = Источник.Товары.Скопировать(); и по одной добавить услуги попробую так |
|||
6
tpmi
30.08.11
✎
16:35
|
не получается, нет у табличной части такого метода. так что, воссоздавать структуру и по одной строки копировать что ли?
|
|||
7
tpmi
30.08.11
✎
16:47
|
В итоге делается так:
КоллекцияОбъектов = Новый ТаблицаЗначений; КоллекцияОбъектов = Источник.Товары.Выгрузить(); Услуги = Источник.Услуги.Выгрузить(); Для Каждого СтрокаИсходнойТаблицы Из Услуги Цикл НоваяСтрока = КоллекцияОбъектов.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаИсходнойТаблицы); КонецЦикла; Извините, что наспамил :-) |
|||
8
tpmi
31.08.11
✎
10:45
|
Не совсем хорошо получилось. Позиции из таблицы услуг не получают нужный тип "Услуга".
В конвертации я убрал исходное поле, и генерирую табличную часть только через ПКГС, источником стоит пустота. В результате на выходе имею табличную часть с текстовыми описаниями, к которым не применяются правила. К тому же присутствует проблема несовпадения имен колонок :-) Можно это как-то исправить, или надо вручную всё синхронизировать и применять правила? |
|||
9
nicxxx
31.08.11
✎
10:49
|
http://infostart.ru/public/81147/
а что значит "проблема несовпадения имен колонок"? |
|||
10
tpmi
31.08.11
✎
10:57
|
(9) Спасибо за ссылку, разбираюсь.
Проблема несовпадения имен заключается в том, что в табличных частях "Товары" и "Услуги" список колонок разный, и мой код это совсем не учитывает. Хотя вроде бы список колонок "Услуг" вкладывается в список колонок "Товаров". |
|||
11
nicxxx
31.08.11
✎
11:08
|
ну так учитывай, иначе не заработает.
вот как можно установить флаг Услуга в номенклатуре в твоем случае: в ПКС "Номенклатура" у табл части пишем в ПередВыгрузкой: ИсходящиеДанные = СоздатьОБъект("СписокЗначений"); ИсходящиеДанные.ДобавитьЗначение(ОбъектКоллекции.Услуга,"Услуга"); а чтобы в коллекции появилось поле Услуга, надо в ПКС для табл части в обработчике "ПередОбработкой" написать: КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений"); КоллекцияОбъектов.НоваяКолонка("Номенклатура"); КоллекцияОбъектов.НоваяКолонка("ЕдиницаИзмерения"); КоллекцияОбъектов.НоваяКолонка("Цена"); КоллекцияОбъектов.НоваяКолонка("Валюта"); КоллекцияОбъектов.НоваяКолонка("ТипЦен"); КоллекцияОбъектов.НоваяКолонка("Услуга");//вот это поле ну и сам напишешь цикл заполнения, причем в цикле по Товарам колонка Услуга будет пустой, а в цикле по Услугам туда надо писать 1. пример для 7.7, на язык 8 сам переводи |
|||
12
tpmi
31.08.11
✎
11:57
|
Так не получится, потому что Услуга - свойство номенклатуры, в восьмёрке оно имеет тип "булево", а в семерке - ПеречислениеСсылка.ТипыНоменклатуры, в этом перечислении есть "Услуга".
|
|||
13
nicxxx
31.08.11
✎
13:55
|
проблема что ли... пиши идентификатор перечисления в коллекцию объектов, даже правила не надо создавать
|
|||
14
tpmi
22.09.11
✎
11:22
|
возникла проблема - при двух отгрузках в один день, нет возможности их различить, и обработка пишет документы поверх. как можно это победить?
|
|||
15
tpmi
22.09.11
✎
11:34
|
Суть: есть документы в бухгалтерии и документы в торговле. У них могут быть разные номера.
При переносе надо как-то отличать документы друг от друга - я придумал только идентификацию по дате и контрагенту; но в таком случае два документа от одного контрагента за один день перезаписываются. |
|||
16
tpmi
22.09.11
✎
11:53
|
Вмешаться в правила поиска на стороне семерки (чтобы по сумме хотя бы сравнить) не получается - как быть?
|
|||
17
nicxxx
24.09.11
✎
14:29
|
пиши номер документа в комментарий, и ищи потом с учетом комментария
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |