Имя: Пароль:
1C
1С v8
КД 7.7 - 8 Назначить единицы товара, без источника.
0 ProProg
 
02.12.11
13:00
Знатоки КД, подскажите
Есть в семерке справочник, у которого указана только базовая единица из классификатора, других единиц как реквизитов нет.
В правилах номенклатуры в приемнике восьмерке, нужно заполнить едницу отчетов и хранения.
Источника получается нет.
Как сделать заполнение этих реквизитов, при условии того что у источника нет реквизитов с подчиненным справочником единиц.

правило перекачки подчиненного спр Единиц идет отдельно.
1 Aleksey
 
02.12.11
13:02
выгружай единицы при выгрузке номенклатуры, через выгрузить по правилу
2 ProProg
 
02.12.11
13:03
Т.е. грубо говоря имеем
Источник (отдельные правила):
Номенклатура
Единицы измерения
Приемкни (тоже самое), но в карточке нужно чтобы заполнились реквизиты ОсновнаяЕдиницаХранения и Отчетов из подченного справочника.
В подчиненном справочнике единиц в семерке, у каждого товара только одна единица в справочнике единиц.
3 ProProg
 
02.12.11
13:04
(1) и что там писать? Кучу типовых правил пересмотрел, ни одного примера.
4 Aleksey
 
02.12.11
13:05
(3) Да ладно, в типовых так РС выгружается, ну типа паспорт из зарплаты
5 Aleksey
 
02.12.11
13:05
Или например из 7-ку в 8-ку адреса (из реквизита в РС)
6 ProProg
 
02.12.11
13:07
7 ProProg
 
02.12.11
13:08
(5) тут понимаешь все заливается. и номенклатура и единицы. Но у номенклатуры именно не проставляются эти реквизиты.
8 vicof
 
02.12.11
13:08
(7) в поиске куча постов на эту тему
9 Aleksey
 
02.12.11
13:11
Взял типовые правила переноса для бухии из 7-ку в 8-ку

открыл перенос физлица в сотрудник

После выгрузки


   ПолноеИмя = Источник.Наименование;
   ПозицияПервогоПробела = Найти(ПолноеИмя, " ");
   Если ПозицияПервогоПробела <> 0 Тогда
       Фамилия = Лев(ПолноеИмя, ПозицияПервогоПробела);
       ИмяОтчество = Сред(ПолноеИмя, ПозицияПервогоПробела+1);
       ИмяОтчество = СокрЛ(ИмяОтчество);
       Имя = Лев(ИмяОтчество, 1)+".";
       
       ВходящиеДанные = СоздатьОбъект("СписокЗначений");
       ВходящиеДанные.Установить("Фамилия", Фамилия);
       ВходящиеДанные.Установить("Имя", ИмяОтчество);
       ВходящиеДанные.Установить("Отчество", "");

       ПозицияВторогоПробела = Найти(ИмяОтчество, " ");
       Если ПозицияВторогоПробела <> 0 Тогда
           Отчество = Сред(ИмяОтчество, ПозицияВторогоПробела+1);
           Отчество = СокрЛ(Отчество);
           
           ВходящиеДанные.Установить("Имя", Лев(ИмяОтчество, ПозицияВторогоПробела));
           ВходящиеДанные.Установить("Отчество", Отчество);
       КонецЕсли;
       
       ВыгрузитьПоПравилу(Источник,, ВходящиеДанные,, "ФИОФизЛиц");
   КонецЕсли;
10 ProProg
 
02.12.11
13:12
(8) смотрел. во всех случаях в ТИС есть реквизит с единицей ссылающейся на подчиненный справочник. Он есть во всех типовых семерки. А тут нету.
11 Aleksey
 
02.12.11
13:12
Соответственно у правило ФИО стоит

ФизЛицо - Значение = Источник;
Остальные - получить из входящих данных
12 ProProg
 
02.12.11
13:12
(9) так я уже 2 раза сказал источника нет.
13 Aleksey
 
02.12.11
13:13
(12) Источника чего
14 Aleksey
 
02.12.11
13:13
еще раз и пошагам
15 Aleksey
 
02.12.11
13:14
Не пытайся конвертировать самостоятельно ЕИ, вместо этого конвертирую номенклатуру, а при выгрузки через параметры передавай источник для ЕИ
16 ProProg
 
02.12.11
13:15
Ясно что ничего не ясно. ладно буду ковырять.
17 Aleksey
 
02.12.11
13:15
Ты задача полностью опиши, а то есть какой то справочник, навыходе должна получится Номенклатура с ЕИ
18 Aleksey
 
02.12.11
13:16
Что за справочник такой хитрый на входе?
19 ProProg
 
02.12.11
13:17
ВО! нашел пример. в правиле указать по типу. выборку и назначение

Партии = СоздатьОбъект("Справочник.Партии");
           Партии.ИспользоватьВладельца(Источник);
           Если Партии.ВыбратьЭлементы() = 1 Тогда
               ВестиУчетПоСериям = 1;                
           КонецЕсли;
20 ProProg
 
02.12.11
13:17
тоже самое но для единиц
21 Aleksey
 
02.12.11
13:17
ЭЭЭ а это каким боком к задачи?
22 Aleksey
 
02.12.11
13:18
Да и код странны, проще же написать

ВестиУчетПоСериям = Партии.ВыбратьЭлементы();
23 DailyLookingOn Sunset
 
02.12.11
13:19
В обрабочике ПослеЗагрузки можно любой код написать.
Тем более значение единицы уже есть в реквизите справочника.
24 DailyLookingOn Sunset
 
02.12.11
13:19
обработчике
25 ProProg
 
02.12.11
13:20
Единицы = СоздатьОбъект("Справочник.ЕдиницыИзмерений");
Единицы.ИспользоватьВладельца(Источник);
Если Единицы.ВыбратьЭлементы() = 1 Тогда
   Значение = Единицы.ТекущийЭлемент();                
КонецЕсли;
26 Aleksey
 
02.12.11
13:21
(25) И что получишь? Случайную единицу?
27 ProProg
 
02.12.11
13:21
(26) она там одна у каждого товара
28 ProProg
 
02.12.11
13:22
кому надо можно поиск по базовой добавить.
29 Aleksey
 
02.12.11
13:22
И кстати в твоем случае можно написать что
ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
ИсходящиеДанные.Установить("Владелец", Источник);

Это в ПКС реквизита базовая ЕИ в перед выгрузкой

А далее уже в конвертации ЕИ пишем Владелец - получиьт из входящих данных
30 Aleksey
 
02.12.11
13:23
(27) Еще раз, если в карточке указано штуки, а в справочнике 2 ЕИ коробки и штуки?
Поиск к примеру найдет коробки. И что?
31 Aleksey
 
02.12.11
13:23
И где это ты собрался писать этот код в номенклатуре или в ЕИ?
32 ProProg
 
02.12.11
13:25
(30) голову не ломай сложностями. у нас всего одна единица везде. да и я писал что в картчоке в семерке нету поля с реквизитом со ссылкой на подчиненные единицы. так что в таком случае в любом раскладе ты не определил бьы что нужно ставить.

В моем случае там всего одна вот её и ставлю
33 ProProg
 
02.12.11
13:25
(31) в номенклатуре в правиле реквизита
34 ProProg
 
02.12.11
13:25
ща проверю
35 ProProg
 
02.12.11
13:25
не сработало.. ладно..
36 ProProg
 
02.12.11
13:26
ааа. блин я забыл правило ИЕ включить.
37 Aleksey
 
02.12.11
13:28
(32) а на картинке есть
38 ProProg
 
09.12.11
17:48
Слушайте. Все работает. Разместил алгоритм (25).
Но тперь пошел дальше.
Есть правила Номенклатура, единицы - все работает ништяк когда например переношу номенклатуру.

Но сейчас выгружаю доки и правила с номенклатурой не включены в обработке выгрузки. Т.е. она идет по ссылкам (выгружаются только те что касаются доков).
Соотв доки переносятся все ок. А в номенклатуре единиц опять нету. чо за байда.

Короче если номенклатуру - заполняется
Если номенклатуру по ссылке то нифига. единиц нет.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший