Вопрос № 34603: Здравствуйте Эксперты! В глобальном модуле для печатной формы РЛ2(расчетные листки для сотрудников) были некоторые изменения в процедуре. Но это подействовало на РЛ1 (расчетные литстки для данных бухгалтерии). Что нужно сделать чтобы эти изменения не...Вопрос № 34652: Здравствуйте...
У меня два вопроса. Помогите плиз. Они очень простые.
Первый: как сделать заставку на 1С ?
Второй: как скопирывать справочник или еще что-нибудь вместе с данными с одной конфигурации в другую :). Я знаю, что через Excel ...
Вопрос № 34.603
Здравствуйте Эксперты! В глобальном модуле для печатной формы РЛ2(расчетные листки для сотрудников) были некоторые изменения в процедуре. Но это подействовало на РЛ1 (расчетные литстки для данных бухгалтерии). Что нужно сделать чтобы эти изменения не действовали на РЛ1 (должен остаться как есть).
Если можно с примерами :)))
Заранее благодарен!
Отвечает: BuhCIA
Здравствуйте, Laziz M. Ismailov!
Вместо строк
Если ЖрнЗарплата.ВидРасч.ВходитВГруппу(ГруппаРасчетов.ВсеУдержания)=1 Тогда
СуммаУд=ЖрнЗарплата.Результат;
//ВсегоУ=ВсегоУ+ЖрнЗарплата.Результат;
КонецЕсли;
ставится несколько больше строк:
Если ЖрнЗарплата.ВидРасч.ВходитВГруппу(ГруппаРасчетов.ВсеУдержания)=1 Тогда
Если Пар1=1 Тогда
СуммаУд=ЖрнЗарплата.Результат;
Иначе
СуммаНач=-ЖрнЗарплата.Результат;
КонецЕсли;
//ВсегоУ=ВсегоУ+ЖрнЗарплата.Результат;
КонецЕсли;
и аналогично еще ниже: вместо
Если ИтогоМ<0 Тогда
НСальдоК="Долг за работником";
СуммаКС1=0; СуммаКС2=(ИтогоМ*(-1));
Иначе
НСальдоК="Долг за предприятием ";
СуммаКС1=ИтогоМ; СуммаКС2=0;
КонецЕсли;
ставится
Если ИтогоМ<0 Тогда
Если Пар1=1 Тогда
НСальдоК="Долг за работником";
СуммаКС1=0; СуммаКС2=(ИтогоМ*(-1));
Иначе
НСальдоК="Долг за работником";
СуммаКС1=ИтогоМ; СуммаКС2=0;
КонецЕсли;
Иначе
НСальдоК="Долг за предприятием ";
СуммаКС1=ИтогоМ; СуммаКС2=0;
КонецЕсли;
Успехов!
--------- Скажите, сколько времени? - (устало, показывая часы) Читайте, там же все написано!
Ответ отправил: BuhCIA (статус: Студент)
Отправлен: 02.02.2006, 10:10 Оценка за ответ: 5
Вопрос № 34.652
Здравствуйте...
У меня два вопроса. Помогите плиз. Они очень простые.
Первый: как сделать заставку на 1С ?
Второй: как скопирывать справочник или еще что-нибудь вместе с данными с одной конфигурации в другую :). Я знаю, что через Excel и xBase, но только не знаю как.
Заранее благодарю :).
Отвечает: Сергей
Здравствуйте, Karanskiy Arkadiy!
есть специальная обработка, надо пишите.... azimplus@mail.ru
Ответ отправил: Сергей (статус: 2-ой класс)
Отправлен: 03.02.2006, 08:50 Оценка за ответ: 5
Отвечает: BuhCIA
Здравствуйте, Karanskiy Arkadiy!
На второй вопрос. Пример прямого взаимодействия двух разных баз (с разными конфигурациями, но, видимо, с одним запускаемым модулем 1С...exe) см. здесь
http://www.mista.ru/articles1c/ole.htm
Если не получилось, то результаты экспериментов прошу в мини-форум вопроса 34652 (по ссылке в первом письме с уведомлением о получении вопроса)
--------- Скажите, сколько времени? - (устало, показывая часы) Читайте, там же все написано!
Ответ отправил: BuhCIA (статус: Студент)
Отправлен: 03.02.2006, 09:09 Оценка за ответ: 4 Комментарий оценки: спасибо посмотрю
Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Karanskiy Arkadiy!
1я обработка выгружает данные во внешний файл.
База=СоздатьОбъект("XBase");
База.ДобавитьПоле("A","C",15,);//Код
База.ДобавитьПоле("S1","C",100,);//Наименование
База.ДобавитьПоле("S2","N",15,6);//Цена
База.СоздатьФайл("P:sravnen.dbf");
База.КодоваяСтраница(1);
Спр= СоздатьОбъект("Справочник.Номенклатура");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
База.Добавить();
База.УстановитьЗначениеПоля("A",Спр.Код);
База.УстановитьЗначениеПоля("S1",Спр.Наименование);
База.УстановитьЗначениеПоля("S2",Спр.Цена);
База.Записать()
КонецЦикла;
База.ЗакрытьФайл();
Файл сформирован. Теперь в другой базе другой обработкой его прочитать.
База=СоздатьОбъект("XBase");
База.КодоваяСтраница(1);
База.ОткрытьФайл("P:sravnen.dbf",);
Если База.Открыта()=0 Тогда
Сообщить("Файл не вiдкрито!");
Возврат;
КонецЕсли;
База.ПоказыватьУдаленные(0);
Спр= СоздатьОбъект("Справочник.Номенклатура");
База.Первая();
Пока База.ВКонце()<>1 Цикл
//Здесь вставь проверку, чтобы не засосать дубль элемента.
Если Спр.НайтиПоНаименованию(База.S1,0)=0 Тогда
Спр.Новый();
Спр.Код=База.A;
Спр.Наименование=База.S1;
Спр.Цена=База.S2;
Попытка//Может и не записаться если код не уникальный
Спр.Записать();
Исключение
Сообщить("Не могу записать тототото");
КонецПопытки;
База.Следующая();
КонецЕсли;
КонецЦикла;
База.ЗакрытьФайл();
Навешай побольше проверок, сообщений, проверь на тренировочной базе и вперед.
С периодическими реквизитами посложнее. Например, Цена в элементе "Сок березовый" имеет 5 значений(разные даты), а остальные элементы более пяти значений не имеют. Тогда создашь поля s21,s21data,s22,s22data, и т.д. Через объект Периодический запишешь их в База, через установить перепишешь в справочник.
Да, кстати, можно использовать База.УстановитьЗначениеПоля("S"+Строка(Сч),Спр.ррррр);
Ну вот, все тонкости вроде бы, рассказал.
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: 7-ой класс)
Отправлен: 03.02.2006, 20:48 Оценка за ответ: 5 Комментарий оценки: Хоть в кратце, ну и за это спасибо
Отвечает: Elric
Здравствуйте, Karanskiy Arkadiy!
Заставка -- это просто.
Открываете Конфигуратор, в нем конфигурацию. На объекте "Задача" (это там где идентификатор конфигурации, например "Бухгалтерский учет для Украины" или "Комплексная конфигурация" и т.п.) щелкаете правой кнопкой мыши и открываете свойства. На закладке "Заставка" нажимаете кнопку "Изменить" и попадаете в форму выбора заставки и логотипа и редактирования копирайтов. Вот там и устанавливаете заставку. Диапазон допустимых форматов довольно широк, посмотрите сами.
--------- Мирный атом в каждый дом
Ответ отправил: Elric (статус: 3-ий класс)
Отправлен: 04.02.2006, 00:47