Пятница, 26.04.2024. 16:25 |  Приветствуем Вас, Гость! Регистрация | Вход

Форум сайта comp.dmkos.ru

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум » Дополнительный раздел » 1С: Предприятие » Разное по программированию в 1С
Разное по программированию в 1С
Vetkhy
Вторник, 24.03.2009, 14:40

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
В этой теме мы попытаемся ответить на различные вопросы по программированию в 1С: Предприятии.

Have you tried to turn it off and on again? © IT Crowd
 
Гость
Пятница, 23.04.2010, 18:00
Группа: Гости
Здравствуйте.
Тут столкнулся с Бизнес-процессами впервые и получил вот такое задание.
Отслеживать ход исполнения документов пользователями с напоминанием через 20 - 10 - 5 дней.
Срок исполнения документа 30 дней, далее он просрочен

Даже не знаю с чего начать.
Может посоветуете что?
С уважением ко всем.

 
Vetkhy
Пятница, 23.04.2010, 20:49

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
Я думаю, что в первую очередь необходимо понять сам бизнес-процесс, напоминание, как мне кажется, дело вторичное. Опять же, что значит "ход исполнения документов"?

Have you tried to turn it off and on again? © IT Crowd
 
Ткачев
Среда, 06.10.2010, 09:47
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
Русским языком скажите пожалуйста как выгрузить все данные из БП (2.0.15.8) в ЗиУП (2.5.27.6)
 
Vetkhy
Среда, 06.10.2010, 11:45

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
Quote (Ткачев)
Русским языком скажите пожалуйста как выгрузить все данные из БП (2.0.15.8) в ЗиУП (2.5.27.6)

Так уж прямо все вряд-ли получится... А вот какое-то подмножество должна переносить соответствующая обработка - обычно в "дебрях" меню "Сервис" можно найти пункт типа "Перенос данных в Зарплату и управление персоналом" (или "Обмен данными с...") (искать в БП).
Или через "прочий обмен данными" искать правила обмена между БП и ЗиУП, и из БП, используя эти правила, выгружать XML, а потом этот файл загружать в Зарплате.
Пошаговую инструкцию не напишу - такая задача передо мной ни разу не ставилась, да и протестировать не на чем.


Have you tried to turn it off and on again? © IT Crowd
 
Гость
Среда, 06.10.2010, 13:08
Группа: Гости
На все обработки как обработки по обмену данными, а с ЗиУП очень урезанные, и универсалы не работают.
 
Ткачев
Среда, 06.10.2010, 18:22
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
Тогда еще один вопрос, на компе подключен терминал данных (ТСД) к порту СОМ7, работаем в 1с через удаленный рабочий стол (УРС), вопрос как мне порт сом7 а точнее ТСД перетащить в УРС ?
 
Vetkhy
Среда, 06.10.2010, 22:24

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
Quote (Гость)
На все обработки как обработки по обмену данными, а с ЗиУП очень урезанные, и универсалы не работают.

Тогда увы - только программировать.

Quote (Ткачев)
Тогда еще один вопрос, на компе подключен терминал данных (ТСД) к порту СОМ7, работаем в 1с через удаленный рабочий стол (УРС), вопрос как мне порт сом7 а точнее ТСД перетащить в УРС?

О ля ля... Скорее всего никак, мне кажется, тут или все-таки ТСД подключать к серверу, или же 1С запускать непосредственно на компьютере...

Хотя кажется вот что-то нашел:

Quote
А сходи сюда на серваке - Пуск \ Настройка \ Панель управления \ Администрирование \ Управление компьютером \ Локальные пользователи и группы \ Пользователи. Выбери Пользователя, у которого проблема с принтером, войди в его Свойства. Там есть вкладка Среда, в нижней части окошка есть группа радиокнопок Устройства клиента. Какие нужно установи.
Потом еще можно покопаться в Администрировании \ Настройка служб терминалов. Там есть веточка Подключения \ RDP-TCP, в ее свойствах вкладка Параметры клиента. Поиграй с настройками здесь.
Потом еще есть галки при подключении клиента на машине клиента: Когда запускаешь подключение к удаленному раб столу , где он просит Имя сервера, логин, пароль , есть вкладка Локальные ресурсы (Local Resources) . Вот-с.

http://www.nowa.cc/archive/index.php/t-60275.html

Может быть получится и COM-порт задействовать.


Have you tried to turn it off and on again? © IT Crowd
 
Ткачев
Четверг, 07.10.2010, 07:32
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
Это все очень интересно, я это все уже проделал, но он почему то все равно не работает, net use пишит что все подключил но тоже увы не пашет angry

Сообщение отредактировал Ткачев - Четверг, 07.10.2010, 07:32
 
Vetkhy
Четверг, 07.10.2010, 18:00

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
Quote (Ткачев)
Это все очень интересно, я это все уже проделал, но он почему то все равно не работает, net use пишит что все подключил но тоже увы не пашет

Жаль... К сожалению, у меня больше идей нет shy


Have you tried to turn it off and on again? © IT Crowd
 
Ткачев
Четверг, 14.10.2010, 08:36
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
Порты сами автоматом оказываются встают (можно проверить change port), надо скорость было просто везде сделать 115 тыщ.

Вопрос: есть печатный макет ценника, как при изменении ячейки макета сделать переход в некую процедуру, как в 1с7.7

Сообщение отредактировал Ткачев - Четверг, 14.10.2010, 08:37
 
Vetkhy
Четверг, 14.10.2010, 09:25

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
Quote (Ткачев)
Вопрос: есть печатный макет ценника, как при изменении ячейки макета сделать переход в некую процедуру, как в 1с7.7

Ээ... В каком смысле "при изменении ячейки макета"!? wacko И как это было в 7.7 реализовано? Имеется в виду "расшифровка" или что-то другое?


Have you tried to turn it off and on again? © IT Crowd
 
Ткачев
Четверг, 14.10.2010, 09:49
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
Да, я отредактировал ячейку в печатной форме и при нажатие Enter должна быть запущена обработка,
В рознице или в торговле есть обработка "Печать этикеток и ценников", вот надо сделать что бы при изменении в макете ценника наименования номенклатуры, оно сохранялось в справочнике номенклатура, т.е. вызвать процедуру при изменении ячейки в печатной форме.
 
Vetkhy
Четверг, 14.10.2010, 15:59

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
Quote (Ткачев)
вот надо сделать что бы при изменении в макете ценника наименования номенклатуры

Это не макет smile

По сути вопроса - пожалуйста: событие ПриИзмененииСодержимогоОбласти у поля табличного документа в форме обработки. Соответственно, анализируя передаваемый параметр Область, возможно выполнение тех или иных действий.

Все же замечу, что по-моему печатная форма этикетки или ценника не самое лучшее место для изменения наименования номенклатуры...


Have you tried to turn it off and on again? © IT Crowd
 
Ткачев
Пятница, 15.10.2010, 12:04
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
>Это не макет smile
Да, в торговле это не макет и там все работает, а вот в рознице это печатный макет и нех не работает, надо было с минимальными изменениями релиза сделать это, ну раз не получается, то пусть так корячатся операторы.
 
Гость
Четверг, 21.10.2010, 20:40
Группа: Гости
Хочется одним запросом получить неправильную последовательность PLU кода, возможно ли это ?
У меня сейчас так:

Запрос=Новый Запрос("ВЫБРАТЬ
| ТоварВесов.PLU КАК PLU
|ИЗ
| РегистрСведений.ТоварВесов КАК ТоварВесов
|ГДЕ
| ТоварВесов.Весы = &Весы
|
|УПОРЯДОЧИТЬ ПО
| PLU");
Запрос.Параметры.Вставить("Весы",ЭлементыФормы.ТаблицаВесов.ТекущаяСтрока);
Результат=Запрос.Выполнить().Выбрать();
PLU=1;
Пока Результат.Следующий() Цикл
ВремPLU=Результат.PLU;
Если PLU<>ВремPLU Тогда
Прервать;
КонецЕсли;
PLU=PLU+1;
КонецЦикла;
Возврат (PLU)

 
Vetkhy
Четверг, 21.10.2010, 23:47

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
Quote (Гость)
Хочется одним запросом получить неправильную последовательность PLU кода

Что такое "правильная последовательность" в данном случае? (Я просто не в курсе).


Have you tried to turn it off and on again? © IT Crowd
 
Ткачев
Пятница, 22.10.2010, 07:58
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
Есть коды PLU 1,2,3,4,6,7,8,9,10 т.е. идет увеличение PLU на 1, в приведенном примере нет 5, запрос должен мне вернуть код PLU=4, т.е. я понимаю что PLU=5 нету, добавляю PLU=PLU+1, и восстанавливаю правильную последовательность PLU кода.
 
Vetkhy
Пятница, 22.10.2010, 10:04

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
Quote (Ткачев)
Есть коды PLU 1,2,3,4,6,7,8,9,10 т.е. идет увеличение PLU на 1, в приведенном примере нет 5, запрос должен мне вернуть код PLU=4, т.е. я понимаю что PLU=5 нету, добавляю PLU=PLU+1, и восстанавливаю правильную последовательность PLU кода.

Понятно. Тогда вроде бы все в порядке с вышеприведенным кодом, как задачу решить только лишь запросом, непонятно - по-моему автоинкрементов в запросах не предусмотрено.


Have you tried to turn it off and on again? © IT Crowd
 
Ткачев
Пятница, 22.10.2010, 18:57
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
Запрос=Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1
|ТоварВесов.PLU
|ИЗ
|РегистрСведений.ТоварВесов КАК ТоварВесов
|ЛЕВОЕ СОЕДИНЕНИЕ
|РегистрСведений.ТоварВесов КАК ТоварВесов2
|ПО
|ТоварВесов.PLU=ТоварВесов2.PLU-1
|ГДЕ
|ТоварВесов2.PLU ЕСТЬ NULL
|УПОРЯДОЧИТЬ ПО
|ТоварВесов.PLU");
Результат=Запрос.Выполнить().Выбрать();
Возврат (?(Результат.Следующий(),Результат.PLU+1,1));
 
Vetkhy
Суббота, 23.10.2010, 13:04

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
Quote (Ткачев)
ЛЕВОЕ СОЕДИНЕНИЕ
|РегистрСведений.ТоварВесов КАК ТоварВесов2
|ПО
|ТоварВесов.PLU=ТоварВесов2.PLU-1

Гениально!


Have you tried to turn it off and on again? © IT Crowd
 
Гость
Понедельник, 15.11.2010, 15:34
Группа: Гости
Помогите сгруппировать по Сроку оплаты, договору контрагента, контрагенту

ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Ссылка,
| ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.СрокОплаты) КАК СрокОплаты,
| СУММА(ПоступлениеТоваровУслуг.СуммаДокумента) КАК СуммаДокумента,
| ПоступлениеТоваровУслуг.ДоговорКонтрагента,
| ПоступлениеТоваровУслуг.Контрагент
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|ГДЕ
| ПоступлениеТоваровУслуг.ДоговорКонтрагента.УстановленСрокОплаты = ИСТИНА
| И ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.СрокОплаты) МЕЖДУ &НачДата И &КонДата
|
|СГРУППИРОВАТЬ ПО
| ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.СрокОплаты),
| ПоступлениеТоваровУслуг.ДоговорКонтрагента,
| ПоступлениеТоваровУслуг.Контрагент,
| ПоступлениеТоваровУслуг.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| СрокОплаты

 
Vetkhy
Понедельник, 15.11.2010, 21:58

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
Quote (Гость)
Помогите сгруппировать по Сроку оплаты, договору контрагента, контрагенту

Ну вроде ничего криминального в запросе на первый взгляд нет, может быть ИТОГИ нужны, а не СГРУППИРОВАТЬ?


Have you tried to turn it off and on again? © IT Crowd
 
Гость
Вторник, 16.11.2010, 19:14
Группа: Гости
В коде указанном ниже нужно увеличить ширину колонок и заменить заголовки табличной части (вместо имен колонок сделать свой текст.), как это возможно сделать ?

ПостроительОтчета=Новый ПостроительОтчета;
ПостроительОтчета.ИсточникДанных=Новый ОписаниеИсточникаДанных(Таблица значений со всеми строками и колонками);
ПостроительОтчета.Вывести(Табличный документ расположенный на форме);

Добавлено (16.11.2010, 19:11)
---------------------------------------------
[quote=Vetkhy]Ну вроде ничего криминального в запросе на первый взгляд нет, может быть ИТОГИ нужны, а не СГРУППИРОВАТЬ? [/quote]
Вот в том то и вопрос как сделать, я уже все перебровал, не получается ни чего:(

Добавлено (16.11.2010, 19:13)
---------------------------------------------
Весь код:

НачДата=НачалоДня(НачПериода);КонДата=КонецДня(КонПериода);
ТаблЗнач=Новый ТаблицаЗначений;
ТаблЗнач.Колонки.Добавить("Контрагент");
ТаблЗнач.Колонки.Добавить("Документ",,"Входящий документ",50);
КоличествоДней=Цел(((КонДата-НачДата)/86400)+0.5);
Для Аа=0 по КоличествоДней-1 Цикл
ДатаСрока=НачДата+(86400*Аа);
ТаблЗнач.Колонки.Добавить("Д"+Формат(ДатаСрока,"ДФ=ddMMyy"));
КонецЦикла;
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.СрокОплаты), ДЕНЬ) КАК СрокОплаты,
| ПоступлениеТоваровУслуг.Контрагент КАК Контрагент,
| ПоступлениеТоваровУслуг.Ссылка,
| ПоступлениеТоваровУслуг.СуммаДокумента КАК СуммаДокумента
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|ГДЕ
| ПоступлениеТоваровУслуг.ДоговорКонтрагента.УстановленСрокОплаты = ИСТИНА
| И ДОБАВИТЬКДАТЕ(ПоступлениеТоваровУслуг.Дата, ДЕНЬ, ПоступлениеТоваровУслуг.ДоговорКонтрагента.СрокОплаты) МЕЖДУ &НачДата И &КонДата
|
|УПОРЯДОЧИТЬ ПО
| Контрагент";
Запрос.Параметры.Вставить("НачДата",НачДата);Запрос.Параметры.Вставить("КонДата",КонДата);
Результат=Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
НовСтр=ТаблЗнач.Добавить();
НовСтр.Контрагент=Результат.Контрагент;
НовСтр.Документ=Результат.Ссылка.НомерВходящегоДокумента+" от "+Формат(Результат.Ссылка.ДатаВходящегоДокумента,"ДЛФ=D");
НовСтр["Д"+Формат(Результат.СрокОплаты,"ДФ=ddMMyy")]=Формат(Результат.СуммаДокумента,"ЧДЦ=2");
КонецЦикла;
ПостроительОтчета=Новый ПостроительОтчета;
ПостроительОтчета.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТаблЗнач);
ПостроительОтчета.ВыводитьЗаголовокОтчета=Ложь;
Область = ПостроительОтчета.Макет.ПолучитьОбласть("R1C1");
Область.ТекущаяОбласть.СодержитЗначение = Истина;
Область.ТекущаяОбласть.Значение = Область.ТекущаяОбласть.Значение;
Область.ТекущаяОбласть.ШиринаКолонки = 100;
ПостроительОтчета.Вывести(ЭлементыФормы.Таб);

Добавлено (16.11.2010, 19:14)
---------------------------------------------
Это не надо:
[quote=Гость]Область = ПостроительОтчета.Макет.ПолучитьОбласть("R1C1");
Область.ТекущаяОбласть.СодержитЗначение = Истина;
Область.ТекущаяОбласть.Значение = Область.ТекущаяОбласть.Значение;
Область.ТекущаяОбласть.ШиринаКолонки = 100; [/quote]

 
Vetkhy
Среда, 17.11.2010, 11:58

Полковник
Группа: Администраторы
Сообщений: 206
Репутация: 1
Статус: Offline
Все равно пока не понял, что должно получиться в итоге, но несколько замечаний сразу.

1. ТаблЗнач.Колонки.Добавить("Документ",,"Входящий документ",50);
Построитель отчета "подхватывает" заголовок колонки - "Входящий документ"?
2. Вместо Запрос.Параметры.Вставить можно использовать Запрос.УстановитьПараметр
3. Интерактивно работать с табличным документом скорее всего нужно после того, как его выведет построитель, т.е.:

Code
ПостроительОтчета=Новый ПостроительОтчета;
ПостроительОтчета.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТаблЗнач);  
ПостроительОтчета.Вывести(ЭлементыФормы.Таб);
ТекОбласть = ЭлементыФормы.Таб.Область(1, 1); // получение области по номерам строк и столбцов
...


Have you tried to turn it off and on again? © IT Crowd
 
Форум » Дополнительный раздел » 1С: Предприятие » Разное по программированию в 1С
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Дмитрий Косолапов © 2007-2024
Сайт управляется системой uCoz