Имя: Пароль:
1C
1С v8
КД. Простой вопрос. Алгоритмы
,
0 Альбатрос
 
15.05.13
07:33
Правила обмена 7.7-8.2 на КД.
Вопрос: алгоритмы производятся на языке 8.2 или 7.7? =)
1 Рэйв
 
15.05.13
07:34
Смотря в какой базе будешь их использовать
2 Рэйв
 
15.05.13
07:34
это же просто процедуры по сути. в какой базе будут вызываться на том языке и пиши
3 Aleksey
 
15.05.13
07:39
а алгоритмы в 7-ке работают?
4 Рэйв
 
15.05.13
07:41
Не помню точно. Вроде должны..
5 Альбатрос
 
15.05.13
07:44
(2) Спасибо, вызываю в 7.7
(4) Щас опробуем =)
6 Pahomich
 
15.05.13
07:44
(3) Ты для нее выгружаешь для подмены модуль в виде текстового файла
7 Aleksey
 
15.05.13
07:50
(6) Ты о чём? я о вкладке алгоритмы и запросы. Просто в справке написано

Аналогично обстоят дела с алгоритмами. Кода один и тот же кусок кода должен быть выполнен в различных местах, удобно записать отдельный алгоритм, а затем просто вызывать его из тех мест, где он нужен.


А вызов этого кода будет очень прост: Выполнить(Алгоритмы.СоздатьТаблицу);

А как в 7-ке? там же нет выполнить
8 Рэйв
 
15.05.13
07:51
(7)Они скорее всего в выгружаемом тексте модуля в процедуры оформляются и потом вызываются
9 Альбатрос
 
15.05.13
07:52
Стоп, а как в алгоритм передать значения для изменения?
Пробую так:
Ч="";
       М="";
       С="";
       ОбрДата = Накладные.ДатаДок;
       Время = Накладные.ПолучитьВремя(Ч.М.С);
       Вычислить(Алгоритмы.ОбработатьДату(ОбрДата,Ч,М,С));
       ВыборкаДанных.Дата = ОбрДата;

И сам алгоритм:

Год = "20"+прав(ОбрДата,2);
Месяц = Сред(ОбрДата,4,2);
День = Лев(ОбрДата,2);
ОбрДата = Год+"-"+Месяц+"-"+День+"T"+Ч+":"+М+":"+С;
10 Aleksey
 
15.05.13
07:53
(9) А параметры тебе для чего?
11 Defender aka LINN
 
15.05.13
07:54
(7) В семерке это будет процедура
12 Aleksey
 
15.05.13
07:54
есть же глобальные параметры через них и передавай
13 Defender aka LINN
 
15.05.13
07:55
(12) Нахрена?
14 Альбатрос
 
15.05.13
07:55
(12) Это мне типа надо описать их в параметрах конвертации?
15 Альбатрос
 
15.05.13
07:56
(13) а как по-другому?
16 Defender aka LINN
 
15.05.13
07:56
(15) Для начала стоит таки сознаться, где алгоритм будет выполняться
17 Aleksey
 
15.05.13
07:56
(13) чтобы "в алгоритм передать значения для изменения"
18 Альбатрос
 
15.05.13
07:58
(16) На стороне 7.7, ПВД - "перед обработкой"
19 Pahomich
 
15.05.13
08:05
(7) И я о них.
20 Defender aka LINN
 
15.05.13
08:09
(18) Тогда еще придется сознаться, какую версию КД используешь
21 Defender aka LINN
 
15.05.13
08:10
+(20) А точнее - есть ли на форме алгоритма поле "Параметры"
22 Pahomich
 
15.05.13
08:34
С параметрами в 7-ку скорее всего будет облом
23 Pahomich
 
15.05.13
08:36
Надо смотреть модуль загрузки или выгрузки, те, что в обработке, работающей в 7-ке и ручками, ручками
24 Defender aka LINN
 
15.05.13
08:39
(22) Рассуждать о том, о чем знаете - пробовали?
25 Pahomich
 
15.05.13
08:50
(24) Нет рассуждать не пробовал, пробовал писать обработки по переносу и переносить, пока удачно.
26 Pahomich
 
15.05.13
08:52
(24) А по поводу параметров в 7ку в половине внутренних хелпов в обработчиках написано.
27 Альбатрос
 
15.05.13
08:55
(21) Версия 2.1.3.1. Поля Параметры на форме алгоритма нету (
28 mikecool
 
15.05.13
08:59
(7) в справке есть правила кажется ПослеЗагрузки, написано что для 8.х, однако работает и в 7.7
29 mikecool
 
15.05.13
08:59
(24) кстате, а какие параметры передаются при конвертации? что то помнится- никакие
30 Aleksey
 
15.05.13
09:03
(27) уже давно 2.1.7.1
31 welwel
 
15.05.13
09:08
(0) в типовых правилах перехода с Бухгалтерии 7.7 на Бухгалтерия 8 ред.2.0 можно посмотреть как реализовано
32 Defender aka LINN
 
15.05.13
09:12
(27) Тогда заглядывай в процедуру алгоритма конфигуратором. Там будет куча параметров, которые можно использовать, только называться они будут типа Источник, ИсходящиеДанные, ВходящиеДанные и т.д. Или обновись до последней, там можно свои параметры задать
33 Альбатрос
 
15.05.13
09:15
(32) Ага, спасибо смотрю уже
34 Альбатрос
 
15.05.13
09:15
и качаю обновленную КД =)
35 Альбатрос
 
15.05.13
09:18
Тут еще другой вопрос вылез...
Пока без алгоритмов, напрямую в ПВД написал так:

Ч="";
       М="";
       С="";
       ОбрДата = Накладные.ДатаДок;
       Накладные.ПолучитьВремя(Ч.М.С);
       Год = "20"+прав(ОбрДата,2);
       Месяц = Сред(ОбрДата,4,2);
       День = Лев(ОбрДата,2);
       ОбрДата = Год+"-"+Месяц+"-"+День+"T"+Ч+":"+М+":"+С;

       ВыборкаДанных.Дата = ОбрДата;

Ругается:
Ошибка исполнения обработчика:  ПВД_ПередОбработкойПравила_ПродажиТовара
 - Значение не представляет агрегатный объект (М)

А как отловить, на какую строчку он ругается? Факт, на какую-то из добавленных мной, но на мой взгляд вроде все правильно, где я ошибся
36 Defender aka LINN
 
15.05.13
09:20
(35) Ну, во-первых, строку он пишет. А во-вторых, тут и с первого взгляда понятно
37 Альбатрос
 
15.05.13
09:22
(36) Полностью ошибка, строки нет:
Начало выгрузки:   15.05.13 13:10:47
Ошибка исполнения обработчика:  ПВД_ПередОбработкойПравила_ПродажиТовара
 - Значение не представляет агрегатный объект (М)
Ошибка выбора объектов коллекции
Выгружено объектов:   16
Окончание выгрузки:   15.05.13 13:10:49

Укажите, где я ступил?
38 Альбатрос
 
15.05.13
09:24
Мля, я уже раз 20 перечитываю эти 10 строк))) не вижу!
39 Defender aka LINN
 
15.05.13
09:25
Накладные.ПолучитьВремя(Ч.М.С);
40 Альбатрос
 
15.05.13
09:26
(39) Вот я дятел)))) спасибо!
41 Альбатрос
 
15.05.13
09:59
Мужики, следующий вопрос =):
Данные выгружает, но при загрузки на строчке:
Возврат XMLЗначение(Тип, Значение);
Ошибка:
Ошибка при вызове метода контекста (XMLЗначение): Ошибка преобразования данных XML

Посмотрел в отладчике. Тип как надо у меня "Дата", а вот значение = "2013-05-02T16:6:52"

Какой должен быть формат у "значение", чтоб ровно преобразовал в дату?
42 Альбатрос
 
15.05.13
10:05
Так ну понятно, все из-за того, что минута = 6.
Но я ведь время получаю через ПолучитьВремя()
В иттоги сделал по еплански:
       Если СтрДлина(Ч) = 1 тогда
           Ч = "0"+Ч;
       КонецЕсли;
       Если СтрДлина(М) = 1 тогда
           М = "0"+М;
       КонецЕсли;
       Если СтрДлина(С) = 1 тогда
           С = "0"+С;
       КонецЕсли;
43 Defender aka LINN
 
15.05.13
10:36
(42) Формат же есть