|   |   | 
| 
 | Недопустимое значение параметра (параметр номер '1') | ☑ | ||
|---|---|---|---|---|
| 0
    
        Лис Локи 02.02.12✎ 07:46 | 
        Здравствуйте. При настройке 1С "Предприятие" возникла следующая проблема: при попытке "Обмена данными" (Обмен данными\Выгрузка счетов на оплату\Загрузка взаиморасчетов с клиентам) появляется вот такое сообщение:
  Недопустимое значение параметра (параметр номер '1') Процедура СформироватьТекстЗапросаИПолучитьЗагруженныеОбороты() СКД = ПолучитьИзВременногоХранилища(АдресСКД); // Отладчик ругается на эту строку. УстановитьПоляОтбораПоСКД(СКД); КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД)); КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию); КомпоновщикНастроек.Восстановить(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СКД, КомпоновщикНастроек.ПолучитьНастройки(), , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ТаблицаРезультатаКомпановки = ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); ПостроительЗапроса = Новый ПостроительЗапроса(); Источник = Новый ОписаниеИсточникаДанных(ТаблицаРезультатаКомпановки); ПостроительЗапроса.ИсточникДанных = Источник; ПостроительЗапроса.Выполнить(); РезультатЗапроса = ПостроительЗапроса.Результат.Выбрать(); Если НЕ СохранятьИзмененияПользователя Тогда Объект.Реализация.Очистить(); Объект.Оплата.Очистить(); Иначе мТаблицаОплат = Объект.Оплата.Выгрузить(); Объект.Оплата.Очистить(); КонецЕсли; Пока РезультатЗапроса.Следующий() Цикл Если НЕ СохранятьИзмененияПользователя Тогда Если РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Приход Тогда НоваяСтрока = Объект.Реализация.Добавить(); ИначеЕсли РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Расход Тогда НоваяСтрока = Объект.Оплата.Добавить(); КонецЕсли; ЗаполнитьЗначенияСвойств(НоваяСтрока, РезультатЗапроса); ДобавитьСвязанныеДокументы(РезультатЗапроса, РезультатЗапроса.ВидыДвиженийПриходРасход); Иначе // Скорректируем ТЧ Оплаты, т.к. в реализации было удаление строки Если РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Расход Тогда НоваяСтрока = Объект.Оплата.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, РезультатЗапроса); МассивСтрок = мТаблицаОплат.НайтиСтроки(Новый Структура("ИдентификаторДокумента, ИдентификаторКорДокумента",РезультатЗапроса.ИдентификаторДокумента,РезультатЗапроса.ИдентификаторКорДокумента)); Если НЕ МассивСтрок.Количество() = 0 Тогда НоваяСтрока.Счет = МассивСтрок[0].Счет; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; Если НЕ мВремТаблицаРеализации.Количество() = 0 Тогда Для Каждого СтрокаРеализации ИЗ Объект.Реализация Цикл СтрокаТЗ = мВремТаблицаРеализации.Найти(СтрокаРеализации.ИдентификаторДокумента, "ИдентификаторДокумента"); Если НЕ СтрокаТЗ = Неопределено Тогда СтрокаРеализации.Счет = СтрокаТЗ.Счет; КонецЕсли; КонецЦикла; КонецЕсли; Если НЕ мВремТаблицаОплаты.Количество() = 0 Тогда Для Каждого СтрокаОплаты ИЗ Объект.Оплата Цикл МасивСтрок = мВремТаблицаОплаты.НайтиСтроки(Новый Структура("ИдентификаторДокумента, ИдентификаторКорДокумента", СтрокаОплаты.ИдентификаторДокумента, СтрокаОплаты.ИдентификаторКорДокумента)); Если НЕ МасивСтрок.Количество() = 0 Тогда СтрокаОплаты.Счет = МасивСтрок[0].Счет; КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры Служебные сообщения: {Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения(154)}: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища) СКД = ПолучитьИзВременногоХранилища(АдресСКД); Недопустимое значение параметра (параметр номер '1') Прошу, помогите как можно скорее. Сам я в 1С лишь скромный эникейщик. | |||
| 19
    
        Лис Локи 02.02.12✎ 08:43 | 
        Собственно да, предугадал вопрос.     | |||
| 20
    
        Fish гуру 02.02.12✎ 08:44 | 
        (16) А может это реквизит формы?     | |||
| 21
    
        dva1c 02.02.12✎ 08:45 | 
        (18) Исходишь из логики: для чего нужна обработка? Что нужно получить для построения отчета? Пытаешься понять для чего нужен этот "АдресСКД"?     | |||
| 22
    
        dva1c 02.02.12✎ 08:46 | 
        (21) -> (19)
  (20) Верно построенное предположение. +1 | |||
| 23
    
        Лис Локи 02.02.12✎ 08:50 | 
        Да вроде и там (Общие\общие формы) ничего такого не наблюдается.
  Мда. Отчет-обработка. > для чего нужен этот "АдресСКД"? Понятия не имею, честно говоря. Я имею ввиду, я даже не предполагаю, как он ДОЛЖЕН выглядеть. | |||
| 24
    
        dva1c 02.02.12✎ 08:54 | 
        (23) Отчет готовый есть? Что он должен формировать? Неужели не знаешь?     | |||
| 25
    
        Лис Локи 02.02.12✎ 08:57 | 
        По идее это должен был быть импорт взаиморасчетов с клиентами.
  (Ведомость и остатки). Есть пример, да. | |||
| 26
    
        dva1c 02.02.12✎ 09:01 | 
        (25) Уже не так все плохо. Копай дальше. )     | |||
| 27
    
        Fish гуру 02.02.12✎ 09:03 | 
        (23) А глобальный поиск по конфе твоего "АдресСКД" делал?     | |||
| 28
    
        Лис Локи 02.02.12✎ 09:05 | 
        >А глобальный поиск по конфе твоего "АдресСКД" делал?
  Нет, конечно, ибо 1С изучал "давно и не правда". Как? | |||
| 29
    
        dva1c 02.02.12✎ 09:06 | 
        (28) )) Иконку "Папка с биноклем" видишь? Если - да, то это "Глобальный поиск".     | |||
| 30
    
        Лис Локи 02.02.12✎ 09:10 | 
        "Есть папка с увеличительным стеклом", жмакнул, вот что нашло:
  Поиск строки "АдресСКД"... Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(154, 38) : СКД = ПолучитьИзВременногоХранилища(АдресСКД); Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1095, 38) : СКД = ПолучитьИзВременногоХранилища(АдресСКД); Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1139, 2) : АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор); Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1148, 38) : СКД = ПолучитьИзВременногоХранилища(АдресСКД); Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1175, 2) : АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор); Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1274, 21) : Новый Структура("АдресСКД",АдресСКД)); Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1274, 31) : Новый Структура("АдресСКД",АдресСКД)); Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1277, 3) : АдресСКД = Результат.АдресСКД; Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1277, 24) : АдресСКД = Результат.АдресСКД; Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(270, 38) : СКД = ПолучитьИзВременногоХранилища(АдресСКД); Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(277, 2) : АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор); Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(290, 2) : АдресСКД = Параметры.АдресСКД; Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(290, 23) : АдресСКД = Параметры.АдресСКД; Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(292, 38) : СКД = ПолучитьИзВременногоХранилища(АдресСКД); Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(296, 52) : Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСКД) Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(313, 30) : СтруктураВозврата.Вставить("АдресСКД", АдресСКД); Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(313, 41) : СтруктураВозврата.Вставить("АдресСКД", АдресСКД); Найдено вхождений: 17 | |||
| 31
    
        dva1c 02.02.12✎ 09:12 | 
        (30) Лениво анализировать то, что ты тут постишь. Самому очень тяжело?     | |||
| 32
    
        Fish гуру 02.02.12✎ 09:13 | 
        (30) Ну вот же:
  Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1277, 3) : АдресСКД = Результат.АдресСКД; Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1277, 24) : АдресСКД = Результат.АдресСКД; Вот и смотри там, как этот АдресСКД получается, и для чего нужен :))) | |||
| 33
    
        Лис Локи 02.02.12✎ 09:14 | 
        Проблема в том, что для меня это в основном китайские иероглифы.
  Точнее русские, но от этого только грустнее. Ок, посмотрим-с. | |||
| 34
    
        Fish гуру 02.02.12✎ 09:15 | 
        (33) Тогда может тебе стоит забить на это, и позвать уже специалиста? :))))     | |||
| 35
    
        Лис Локи 02.02.12✎ 09:15 | 
        Процедура Настройки(Команда)
  Результат = ОткрытьФормуМодально( "Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки", Новый Структура("АдресСКД",АдресСКД)); Если Результат <> Неопределено Тогда АдресСКД = Результат.АдресСКД; СформироватьТекстЗапросаИПолучитьЗагруженныеОбороты(); Модифицированность = Истина; КонецЕсли; КонецПроцедуры | |||
| 36
    
        Лис Локи 02.02.12✎ 09:17 | 
        Цитируя мою начальницу "Я всё равно бы тыкалась по интернету, как и ты, а так хотя бы время свободное будет".
  Собственно, сам-то я не сильно пряморукий писатель сайтов, но лучше у них просто нет. | |||
| 37
    
        dva1c 02.02.12✎ 09:25 | 
        (34)+100500 ))     | |||
| 38
    
        Лис Локи 02.02.12✎ 09:32 | 
        >Если Результат <> Неопределено Тогда
  Это вообще норма? | |||
| 39
    
        alxxsssar 02.02.12✎ 09:33 | 
        Если адрес хранилища, то скорее всего это путь к файлам. Посмотри на форме обработки нет ли реквизита с выбором файла или чего подобного?     | |||
| 40
    
        Лис Локи 02.02.12✎ 09:35 | 
        Хм, кажется в общих формах формы "CRM_ОбменДаннымиС1СБухгалтерия" просто нет.     | |||
| 41
    
        alxxsssar 02.02.12✎ 09:43 | 
        Где-то должен быть такой реквизит.     | |||
| 42
    
        Лис Локи 02.02.12✎ 09:45 | 
        Есть поиск по ним?     | |||
| 43
    
        extrim-style 02.02.12✎ 09:45 | 
        (40) это не в общих формах - это в обработках     | |||
| 44
    
        Лис Локи 02.02.12✎ 09:48 | 
        Ага, нашел.
  Нет, у неё только реквизиты НачалоПериода, КонецПериода, УниверсальныйОбменДанными, ИмяФайлаОбмена, ДатаВыгрузкиДанных. | |||
| 45
    
        extrim-style 02.02.12✎ 09:53 | 
        (44) есть реквизиты обработки, которую ты открываешь, а есть реквизиты формы - открываешь в этой обработке ФормуНастройки и переходишь на вкладку реквизиты.     | |||
| 46
    
        extrim-style 02.02.12✎ 09:54 | 
        (0) интересно, какого характера была "настройка". Может проще оттуда топать?     | |||
| 47
    
        Лис Локи 02.02.12✎ 09:56 | 
        Ага, открыл. Есть.     | |||
| 48
    
        Лис Локи 02.02.12✎ 09:57 | 
        Между объектом и компоновщиком настроек, тип "Строка".     | |||
| 49
    
        Лис Локи 02.02.12✎ 10:12 | 
        И куда дальше тыкаться, добрые люди?     | |||
| 50
    
        dva1c 02.02.12✎ 10:16 | 
        (49) Все ушли на обед. Я тоже скоро ухожу. )     | |||
| 51
    
        extrim-style 02.02.12✎ 10:16 | 
        (49) в (0) в реквизитах формы есть АдресСКД?     | |||
| 52
    
        Лис Локи 02.02.12✎ 10:18 | 
        Да, есть!
  offtop: Что ли самому потом пойти? | |||
| 53
    
        extrim-style 02.02.12✎ 10:22 | 
        (52) открой модуль этой формы. Встань в самое начало и по Ctrl+F поищи АдресСКД. Место, где АдресСКД присваивается значение - "АдресСКД = ..."     | |||
| 54
    
        alxxsssar 02.02.12✎ 10:24 | 
        в пользовательской открой и посмотри, он заполнен?     | |||
| 55
    
        Лис Локи 02.02.12✎ 10:25 | 
        > открой модуль этой формы
  Как, добрая душа? | |||
| 56
    
        Лис Локи 02.02.12✎ 10:30 | 
        >открой модуль этой формы 
  Ага, нашел, затупил, простите. | |||
| 57
    
        Лис Локи 02.02.12✎ 10:32 | 
        АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор);
  Вот это? | |||
| 58
    
        extrim-style 02.02.12✎ 10:36 | 
        (57) поставь точку останова на этой строчке и посмотри заполнение параметра СКД.     | |||
| 59
    
        Лис Локи 02.02.12✎ 10:39 | 
        > поставь точку останова на этой строчке
  *тык F9* done! >посмотри заполнение параметра СКД Эм, поясни пожалуйста. | |||
| 60
    
        extrim-style 02.02.12✎ 10:47 | 
        (59) смотри (5)     | |||
| 61
    
        Лис Локи 02.02.12✎ 10:56 | 
        Что-то ни фига не происходит, оно просто выдаёт ошибку и продолжает работать дальше. (т.е. форма не вызывается, но и вылета нет).
  И табло не вызывается по шифт+f9 теперь. | |||
| 62
    
        extrim-style 02.02.12✎ 11:11 | 
        (61) варианты - конфигуратор закрыт. Если открыт - переоткрой всё снова, и поставь точку в этой строке. Если не заходит, поставь точку выше. Возможно (57) находится в другой процедуре и нужно поискать другое присвоение АдресСКД и там уже ставить точку и смотреть. Если ни то, ни другое - курить, почему не заходит в эту процедуру.     | |||
| 63
    
        Лис Локи 02.02.12✎ 11:18 | 
        > Если ни то, ни другое - курить, почему не заходит в эту процедуру.
  А возможно ли это закомментить и написать свое, аналогичное? Я имею ввиду, насколько там большая простыня должна быть? | |||
| 64
    
        extrim-style 02.02.12✎ 11:26 | 
        (63) прежде чем что-то писать, нужно знать что писать.
  лучше вспомнить, что в (0) настраивали | |||
| 65
    
        Лис Локи 02.02.12✎ 11:29 | 
        По идее - форму для "Загрузки взаиморасчетов с клиентам".     | |||
| 66
    
        extrim-style 02.02.12✎ 11:38 | 
        (65) Если больше присвоения АдресСКД в форме нет, то тогда в (57) смотри присвоение СКД, т.к. скорей всего что-то не присваивается. В какой процедуре находится?     | |||
| 67
    
        Лис Локи 02.02.12✎ 11:44 | 
        (57) находится в "Сохранить настройки":
  Процедура СохранитьНастройки() КомпоновщикНастроек.Восстановить(); СКД = ПолучитьИзВременногоХранилища(АдресСКД); НастройкиСКД = СКД.НастройкиПоУмолчанию; НастройкиКомпоновщика = КомпоновщикНастроек.ПолучитьНастройки(); ОчиститьНастройкиКомпоновкиДанных(НастройкиСКД); СкопироватьНастройкиКомпоновкиДанных(НастройкиСКД, НастройкиКомпоновщика); АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор); КонецПроцедуры | |||
| 68
    
        extrim-style 02.02.12✎ 11:53 | 
        (68) по Ctrl+F сделай поиск в модуле СохранитьНастройки - посмотри, в каких процедурах/функциях вызывается.     | |||
| 69
    
        Лис Локи 02.02.12✎ 11:57 | 
        Вот здесь только:
  Процедура ЗавершитьРедактирование(Команда) СохранитьНастройки(); СтруктураВозврата = Новый Структура; СтруктураВозврата.Вставить("АдресСКД", АдресСКД); Закрыть(СтруктураВозврата); КонецПроцедуры | |||
| 70
    
        extrim-style 02.02.12✎ 12:03 | 
        В пользовательском режиме открой обработку Обработка.CRM_ОбменДаннымиС1СБухгалтерия (называется как в поле Синоним), посмотри, может что прояснится, какие-то параметры не установлены может.     | |||
| 71
    
        Лис Локи 02.02.12✎ 12:07 | 
        >В пользовательском режиме 
  Т.е. не из конструктора? | |||
| 72
    
        alxxsssar 02.02.12✎ 12:09 | 
        просто 1с предприятие открой, открой эту обработку, найди какую-нибудь закладку, кнопку или что-нибудь с надписью "Настройки" и посмотри что там у тебя заполнено     | |||
| 73
    
        dva1c 02.02.12✎ 12:14 | 
        *Вернулся с попкорном.     | |||
| 74
    
        alxxsssar 02.02.12✎ 12:17 | 
        (73) отсыпь, я голодный)))     | |||
| 75
    
        Лис Локи 02.02.12✎ 12:49 | 
        Так, нашел кнопку с надписью "настройки". Большую такую. И там до фига, но ничего про СКД что-то нема.
  А сама обработка же не запускается, даже форма не появляется, тупо "Недопустимое значение параметра (параметр номер '1') ". | |||
| 76
    
        Лис Локи 02.02.12✎ 12:50 | 
        Кстати, господа, через 2 часа мой раочий день кончается, но завтра цирк продолжится.     | |||
| 77
    
        Лис Локи 02.02.12✎ 12:50 | 
        *рабочий     | |||
| 78
    
        extrim-style 02.02.12✎ 12:55 | 
        (75) попробуй покурить правильное заполнение и сохранение настроек этой обработки     | |||
| 79
    
        Лис Локи 02.02.12✎ 12:58 | 
        В этом проблема. Я по этой 1С CRM Стандарт мануалов вообще не нашел в инете. Может я что-то не так ищу? Или не знаю правильного названия?     | |||
| 80
    
        extrim-style 02.02.12✎ 13:00 | 
        (79) а, ну теперь понятно, откуда "настройка" из (0) пошла =)     | |||
| 81
    
        Лис Локи 02.02.12✎ 13:09 | 
        Так объясните мне пожалуйста, в чем развязка этого детектива с 1С?)     | |||
| 82
    
        alxxsssar 02.02.12✎ 13:37 | 
        так может на форме она имеет другое название. посмотри что-нибудь похожее или выложи ссыль на скан формы     | |||
| 83
    
        alxxsssar 02.02.12✎ 13:38 | 
        +(82) формы настроек     | |||
| 84
    
        alxxsssar 02.02.12✎ 13:38 | 
        +(81) или в конфигураторе полазай по полям формы настроек и через их свойства (ПКМ) смотри имя реквизита     | |||
| 85
    
        Лис Локи 02.02.12✎ 13:57 | 
        И если что-то такое найду, что на что исправить?     | |||
| 86
    
        alxxsssar 02.02.12✎ 13:58 | 
        если он в пользовательской пустой, то заполни. что вводить - уж извини, тебе лучше знать     | |||
| 87
    
        Лис Локи 02.02.12✎ 14:06 | 
        Так, в пользовательской я его не нашел.
  В реквизитах: Имя: АдресСКД Заголовок: Адрес СКД Тип: Строка Длина: 0 Основной реквизит - не выбрано. Сохраняемые данные - не выбрано. Функциональных опций - нет. Проверка заполнения - не проверять. | |||
| 88
    
        extrim-style 02.02.12✎ 14:07 | 
        (81) в (67) только пересохранение настроек. Должно быть где-то еще присвоение АдресСКД. Посмотри в процедурах ПриОткрытии и ПередОткрытием, и еще, кроме модуля формы, есть модуль объекта. ПКМ на обработку в дереве метаданных - открыть модуль объекта - там поищи присвоение АдресСКД.     | |||
| 89
    
        Лис Локи 02.02.12✎ 14:11 | 
        Обработке я выбрал "Обмен данными 1С и т.п.", правой клавишей, модуль объекта - и девственно чистый лист распахнул свои объятья. Видимо опять не туда.
  >процедурах ПриОткрытии и ПередОткрытием А они-то где, добрый человек? | |||
| 90
    
        extrim-style 02.02.12✎ 14:14 | 
        (89) вот в этой пусто? - Обработка.CRM_ОбменДаннымиС1СБухгалтерия?
  ПриОткрытии и ПередОткрытием в модуле формы, но может и не быть. | |||
| 91
    
        alxxsssar 02.02.12✎ 14:17 | 
        отсылаю к (84) полазай по самой форме настроек, по свойствам всех полей найди эту долбаную "АдресСРМ" и глянь, какая надпись около него стоит на форме.     | |||
| 92
    
        Лис Локи 02.02.12✎ 14:17 | 
        Да, оно пусто.     | |||
| 93
    
        Лис Локи 02.02.12✎ 14:18 | 
        Процедура СкопироватьЭлементы(ПриемникЗначения, ИсточникЗначения, ПроверятьДоступность = Ложь, ОчищатьПриемник = Истина)
  Если ТипЗнч(ИсточникЗначения) = Тип("УсловноеОформлениеКомпоновкиДанных") Или ТипЗнч(ИсточникЗначения) = Тип("ВариантыПользовательскогоПоляВыборКомпоновкиДанных") Или ТипЗнч(ИсточникЗначения) = Тип("ОформляемыеПоляКомпоновкиДанных") Или ТипЗнч(ИсточникЗначения) = Тип("ЗначенияПараметровДанныхКомпоновкиДанных") Тогда СоздаватьПоТипу = Ложь; Иначе СоздаватьПоТипу = Истина; КонецЕсли; ПриемникЭлементов = ПриемникЗначения.Элементы; ИсточникЭлементов = ИсточникЗначения.Элементы; Если ОчищатьПриемник Тогда ПриемникЭлементов.Очистить(); КонецЕсли; Для каждого ЭлементИсточник Из ИсточникЭлементов Цикл Если ТипЗнч(ЭлементИсточник) = Тип("ЭлементПорядкаКомпоновкиДанных") Тогда // Элементы порядка добавляем в начало Индекс = ИсточникЭлементов.Индекс(ЭлементИсточник); ЭлементПриемник = ПриемникЭлементов.Вставить(Индекс, ТипЗнч(ЭлементИсточник)); Иначе Если СоздаватьПоТипу Тогда ЭлементПриемник = ПриемникЭлементов.Добавить(ТипЗнч(ЭлементИсточник)); Иначе ЭлементПриемник = ПриемникЭлементов.Добавить(); КонецЕсли; КонецЕсли; ЗаполнитьЗначенияСвойств(ЭлементПриемник, ЭлементИсточник); // В некоторых коллекциях необходимо заполнить другие коллекции Если ТипЗнч(ИсточникЭлементов) = Тип("КоллекцияЭлементовУсловногоОформленияКомпоновкиДанных") Тогда СкопироватьЭлементы(ЭлементПриемник.Поля, ЭлементИсточник.Поля); СкопироватьЭлементы(ЭлементПриемник.Отбор, ЭлементИсточник.Отбор); ЗаполнитьЭлементы(ЭлементПриемник.Оформление, ЭлементИсточник.Оформление); ИначеЕсли ТипЗнч(ИсточникЭлементов) = Тип("КоллекцияВариантовПользовательскогоПоляВыборКомпоновкиДанных") Тогда СкопироватьЭлементы(ЭлементПриемник.Отбор, ЭлементИсточник.Отбор); КонецЕсли; // В некоторых элементах коллекции необходимо заполнить другие коллекции Если ТипЗнч(ЭлементИсточник) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда СкопироватьЭлементы(ЭлементПриемник, ЭлементИсточник); ИначеЕсли ТипЗнч(ЭлементИсточник) = Тип("ГруппаВыбранныхПолейКомпоновкиДанных") Тогда СкопироватьЭлементы(ЭлементПриемник, ЭлементИсточник); ИначеЕсли ТипЗнч(ЭлементИсточник) = Тип("ПользовательскоеПолеВыборКомпоновкиДанных") Тогда СкопироватьЭлементы(ЭлементПриемник.Варианты, ЭлементИсточник.Варианты); ИначеЕсли ТипЗнч(ЭлементИсточник) = Тип("ПользовательскоеПолеВыражениеКомпоновкиДанных") Тогда ЭлементПриемник.УстановитьВыражениеДетальныхЗаписей (ЭлементИсточник.ПолучитьВыражениеДетальныхЗаписей()); ЭлементПриемник.УстановитьВыражениеИтоговыхЗаписей(ЭлементИсточник.ПолучитьВыражениеИтоговыхЗаписей()); ЭлементПриемник.УстановитьПредставлениеВыраженияДетальныхЗаписей(ЭлементИсточник.ПолучитьПредставлениеВыраженияДетальныхЗаписей ()); ЭлементПриемник.УстановитьПредставлениеВыраженияИтоговыхЗаписей(ЭлементИсточник.ПолучитьПредставлениеВыраженияИтоговыхЗаписей ()); КонецЕсли; КонецЦикла; КонецПроцедуры &НаСервере Процедура ЗаполнитьЭлементы(ПриемникЗначения, ИсточникЗначения, ПервыйУровень = Неопределено) Если ТипЗнч(ПриемникЗначения) = Тип("КоллекцияЗначенийПараметровКомпоновкиДанных") Тогда КоллекцияЗначений = ИсточникЗначения; Иначе КоллекцияЗначений = ИсточникЗначения.Элементы; КонецЕсли; Для каждого ЭлементИсточник Из КоллекцияЗначений Цикл Если ПервыйУровень = Неопределено Тогда ЭлементПриемник = ПриемникЗначения.НайтиЗначениеПараметра(ЭлементИсточник.Параметр); Иначе ЭлементПриемник = ПервыйУровень.НайтиЗначениеПараметра(ЭлементИсточник.Параметр); КонецЕсли; Если ЭлементПриемник = Неопределено Тогда Продолжить; КонецЕсли; ЗаполнитьЗначенияСвойств(ЭлементПриемник, ЭлементИсточник); Если ТипЗнч(ЭлементИсточник) = Тип("ЗначениеПараметраКомпоновкиДанных") Тогда Если ЭлементИсточник.ЗначенияВложенныхПараметров.Количество() <> 0 Тогда ЗаполнитьЭлементы(ЭлементПриемник.ЗначенияВложенныхПараметров, ЭлементИсточник.ЗначенияВложенныхПараметров, ПриемникЗначения); КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры &НаСервере // Процедура удаляет все элементы настройки компоновки данных из объекта // Процедура ОчиститьНастройкиКомпоновкиДанных(Настройки) Если Настройки = Неопределено Или ТипЗнч(Настройки) <> Тип("НастройкиКомпоновкиДанных") Тогда Возврат; КонецЕсли; Для каждого Параметр Из Настройки.ПараметрыДанных.Элементы Цикл Параметр.Значение = Неопределено; Параметр.Использование = Ложь; КонецЦикла; Для каждого Параметр Из Настройки.ПараметрыВывода.Элементы Цикл Параметр.Использование = Ложь; КонецЦикла; Настройки.ПользовательскиеПоля.Элементы.Очистить(); Настройки.Отбор.Элементы.Очистить(); Настройки.Порядок.Элементы.Очистить(); Настройки.Выбор.Элементы.Очистить(); Настройки.Структура.Очистить(); КонецПроцедуры &НаСервере // Копирует настройки компоновки данных // Процедура СкопироватьНастройкиКомпоновкиДанных(НастройкиПриемник, НастройкиИсточник) Если НастройкиИсточник = Неопределено Тогда Возврат; КонецЕсли; Если ТипЗнч(НастройкиПриемник) = Тип("НастройкиКомпоновкиДанных") Тогда Для каждого Параметр Из НастройкиИсточник.ПараметрыДанных.Элементы Цикл ЗначениеПараметра = НастройкиПриемник.ПараметрыДанных.НайтиЗначениеПараметра(Параметр.Параметр); Если ЗначениеПараметра <> Неопределено Тогда ЗаполнитьЗначенияСвойств(ЗначениеПараметра, Параметр); КонецЕсли; КонецЦикла; КонецЕсли; Если ТипЗнч(НастройкиИсточник) = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда ЗаполнитьЗначенияСвойств(НастройкиПриемник, НастройкиИсточник); СкопироватьНастройкиКомпоновкиДанных(НастройкиПриемник.Настройки, НастройкиИсточник.Настройки); Возврат; КонецЕсли; // Копирование настроек Если ТипЗнч(НастройкиИсточник) = Тип("НастройкиКомпоновкиДанных") Тогда ЗаполнитьЭлементы(НастройкиПриемник.ПараметрыДанных, НастройкиИсточник.ПараметрыДанных); СкопироватьЭлементы(НастройкиПриемник.ПользовательскиеПоля, НастройкиИсточник.ПользовательскиеПоля); СкопироватьЭлементы(НастройкиПриемник.Отбор, НастройкиИсточник.Отбор); СкопироватьЭлементы(НастройкиПриемник.Порядок, НастройкиИсточник.Порядок); КонецЕсли; Если ТипЗнч(НастройкиИсточник) = Тип("ГруппировкаКомпоновкиДанных") Или ТипЗнч(НастройкиИсточник) = Тип("ГруппировкаТаблицыКомпоновкиДанных") Или ТипЗнч(НастройкиИсточник) = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда СкопироватьЭлементы(НастройкиПриемник.ПоляГруппировки, НастройкиИсточник.ПоляГруппировки); СкопироватьЭлементы(НастройкиПриемник.Отбор, НастройкиИсточник.Отбор); СкопироватьЭлементы(НастройкиПриемник.Порядок, НастройкиИсточник.Порядок); ЗаполнитьЗначенияСвойств(НастройкиПриемник, НастройкиИсточник); КонецЕсли; СкопироватьЭлементы(НастройкиПриемник.Выбор, НастройкиИсточник.Выбор); СкопироватьЭлементы(НастройкиПриемник.УсловноеОформление, НастройкиИсточник.УсловноеОформление); ЗаполнитьЭлементы(НастройкиПриемник.ПараметрыВывода, НастройкиИсточник.ПараметрыВывода); // Копирование структуры Если ТипЗнч(НастройкиИсточник) = Тип("НастройкиКомпоновкиДанных") Или ТипЗнч(НастройкиИсточник) = Тип("ГруппировкаКомпоновкиДанных") Тогда Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Структура Цикл ЭлементСтруктурыПриемник = НастройкиПриемник.Структура.Добавить(ТипЗнч(ЭлементСтруктурыИсточник)); СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник); КонецЦикла; КонецЕсли; Если ТипЗнч(НастройкиИсточник) = Тип("ГруппировкаТаблицыКомпоновкиДанных") Или ТипЗнч(НастройкиИсточник) = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Структура Цикл ЭлементСтруктурыПриемник = НастройкиПриемник.Структура.Добавить(); СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник); КонецЦикла; КонецЕсли; Если ТипЗнч(НастройкиИсточник) = Тип("ТаблицаКомпоновкиДанных") Тогда Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Строки Цикл ЭлементСтруктурыПриемник = НастройкиПриемник.Строки.Добавить(); СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник); КонецЦикла; Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Колонки Цикл ЭлементСтруктурыПриемник = НастройкиПриемник.Колонки.Добавить(); СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник); КонецЦикла; КонецЕсли; Если ТипЗнч(НастройкиИсточник) = Тип("ДиаграммаКомпоновкиДанных") Тогда Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Серии Цикл ЭлементСтруктурыПриемник = НастройкиПриемник.Серии.Добавить(); СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник); КонецЦикла; Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Точки Цикл ЭлементСтруктурыПриемник = НастройкиПриемник.Точки.Добавить(); СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник); КонецЦикла; КонецЕсли; КонецПроцедуры &НаСервере //Сохраняет настройки схемы компоновки // Процедура СохранитьНастройки() КомпоновщикНастроек.Восстановить(); СКД = ПолучитьИзВременногоХранилища(АдресСКД); НастройкиСКД = СКД.НастройкиПоУмолчанию; НастройкиКомпоновщика = КомпоновщикНастроек.ПолучитьНастройки(); ОчиститьНастройкиКомпоновкиДанных(НастройкиСКД); СкопироватьНастройкиКомпоновкиДанных(НастройкиСКД, НастройкиКомпоновщика); АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор); КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) //crack start crack end// CRM_ЗащитаСервер.ПолучитьЗащищеннуюОбработку().ПриСозданиеНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка); АдресСКД = Параметры.АдресСКД; СКД = ПолучитьИзВременногоХранилища(АдресСКД); Если СКД <> Неопределено Тогда КомпоновщикНастроек.Инициализировать( Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСКД) ); КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию); КомпоновщикНастроек.Восстановить(); КонецЕсли; КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ОСТАЛЬНЫХ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ ФОРМЫ &НаКлиенте Процедура ЗавершитьРедактирование(Команда) СохранитьНастройки(); СтруктураВозврата = Новый Структура; СтруктураВозврата.Вставить("АдресСКД", АдресСКД); Закрыть(СтруктураВозврата); КонецПроцедуры И приоткрытии закрытии тоже нет. | |||
| 94
    
        alxxsssar 02.02.12✎ 14:18 | 
        вот и заполняй, там скорее всего диалог выбора файла     | |||
| 95
    
        Лис Локи 02.02.12✎ 14:21 | 
        отсылаю к (84) полазай по самой форме настроек, по свойствам всех полей найди эту долбаную "АдресСРМ" и глянь, какая надпись около него стоит на форме
  Нет, там не пусто. Там вообще какая-то левая форма с двумя memo-подобными полями и одной кнопочкой ОКэй. | |||
| 96
    
        alxxsssar 02.02.12✎ 14:22 | 
        можешь обработку на почту прислать?     | |||
| 97
    
        Лис Локи 02.02.12✎ 14:25 | 
        С удовольствием, скажи только как.     | |||
| 98
    
        Лис Локи 02.02.12✎ 14:25 | 
        Без проблем, скажи только как.     | |||
| 99
    
        extrim-style 02.02.12✎ 14:26 | 
        (95) ну вот же присвоение - АдресСКД = Параметры.АдресСКД;
  Поставь там точку и запусти обработку в пользовательском режиме, как написано в (5), и по Shift+F9 посмотри содержание Параметры.АдресСКД или Параметры вообще. | |||
| 100
    
        alxxsssar 02.02.12✎ 14:28 | 
        в конфигураторе плавой клавишей на обработкук -> сохранить как внешнюю обработку, отчет, выбираешь место и вуаля. отошли на alxxsssar@mail.ru     | |||
| 101
    
        Лис Локи 02.02.12✎ 14:33 | 
        (100) посылаю.
  (99) В том то и дело, что не переключается оно, не останавливается. И Shift+F9 никакой реакции не вызывает. | |||
| 102
    
        extrim-style 02.02.12✎ 14:41 | 
        (101) ну а ты обработку в пользовательском режиме запускаешь?     | |||
| 103
    
        Лис Локи 02.02.12✎ 14:47 | 
        Как же я её запущу, если форма её даже не вызывается, а ошибку выдает?     | |||
| 104
    
        alxxsssar 02.02.12✎ 14:49 | 
        получил     | |||
| 105
    
        Лис Локи 02.02.12✎ 14:50 | 
        Надеюсь то, что нужно отправил.     | |||
| 106
    
        alxxsssar 02.02.12✎ 14:52 | 
        вроде да     | |||
| 107
    
        extrim-style 02.02.12✎ 14:54 | 
        (103) не знаю, что там за конфа. Через Операции - Обработки в пользовательском режиме, что нельзя?     | |||
| 108
    
        Лис Локи 02.02.12✎ 15:00 | 
        > Через Операции - Обработки в пользовательском режиме, что нельзя?
  Подробнее, пожалуйста. | |||
| 109
    
        alxxsssar 02.02.12✎ 15:04 | 
        а что за конфа, правда, а то у меня не открывается. совсем     | |||
| 110
    
        extrim-style 02.02.12✎ 15:05 | 
        (108) ну в пользовательском режиме в меню есть доступ к обработкам?     | |||
| 111
    
        Лис Локи 02.02.12✎ 15:05 | 
        Ох, чувствую себя полнейшим идиотом. Что означает конфа?     | |||
| 112
    
        Лис Локи 02.02.12✎ 15:06 | 
        Я не знаю как запустить пользовательский режим, простите меня.
  Ох, было весело, расходимся до завтра. Спасибо за то, что возились со мной. | |||
| 113
    
        alxxsssar 02.02.12✎ 15:07 | 
        конфигурация какая. через "Справка" - "О программе"  можно посмотреть     | |||
| 114
    
        Лис Локи 03.02.12✎ 05:01 | 
        Доброе утро всем, через час я буду на работе и шоу маст гоу он.     | |||
| 115
    
        Лис Локи 03.02.12✎ 06:09 | 
        Конфигурация:
  1С:CRM СТАНДАРТ, редакция 1.0 (1.0.6.2) Copyright © ООО "1C", 2011. Все права защищены (http://www.1c.ru) | |||
| 116
    
        Лис Локи 03.02.12✎ 08:03 | 
        Наименование: CRM
  Режим: Файловый | |||
| 117
    
        Fish гуру 03.02.12✎ 09:22 | 
        (114) Запасся попкорном :)))     | |||
| 118
    
        Лис Локи 03.02.12✎ 09:23 | 
        Ок, только что-то все дрессировщики разбежались, а через полчаса я либо забью на это (и мне дадут ещё более увлекательную задачу в 1С), либо кто-то придет и даст дельный совет здесь.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |