Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка

Модерирует : ShIvADeSt

ShIvADeSt (03-04-2009 02:03): Продолжение тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10256#1
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тема для программирования !!!
Это продолжение темы, предыдущие части доступны тут


ПРОГРАММЫ  1С:Предприятие 1C - 1C: Вопросы по конфигурациям

ВАРЕЗНИК   1C:Предприятие 7.7 - 1С:Предприятие v.8.x - 1C Диск ИТС - 1С: Совместимо 8.х

Топик 1C Ebooks
ЗДЕСЬ (обновлено 27.03.2009) - небольшая библиотечка (книги, документация, видео, утилиты) по 1С, финансам, бухучету и т.п.
Все рассортировано по версиям...

Для заблудившихся в трех соснах >>> FAQ по форуму RU.Board

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:30 06-02-2008 | Исправлено: vkramnik, 21:26 27-03-2009
gorlanovmax



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А по проще вариант ... если с переменной ПечРозн = глФРМ(ТаблицаТоваров.Цена);  
может через Format ...

 
А чем он сложный?
 
Вал=СоздатьОбъект("Справочник.Валюты");
Вал=Константа.ВалютаУпрУчета; (это константа в ТиС 937, если у тебя другой релиз, то посмотри в константах)
ПечРозн = глФРМ(ТаблицаТоваров.Цена,Вал);
где Вал - это элемент справочника валюты

Всего записей: 141 | Зарегистр. 27-06-2006 | Отправлено: 10:06 19-01-2009
hotjonny

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, помогите,я новичек в 1С.  
конфигурация 1С7.7 ПУБ для Украины 7.70.017
в документе необходимо сделать таблицу расходных накладных (2 поля: №расходной и сумма с НДС), при этом в таблице выбираем только номер расходной из журнала, а второе поле "Сумма с НДС" должно проставляться автоматически. Уже моск сломал.
Документ проводится не будет, но должен сохраняться. Я пытался сделать запрос, да не получилось.
 
 
Заранее спасибо.  
Не пинайте сильно.

Всего записей: 11 | Зарегистр. 13-01-2006 | Отправлено: 12:28 19-01-2009
ech

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hotjonny
 
через таблицу значений делай

Всего записей: 78 | Зарегистр. 04-10-2006 | Отправлено: 13:26 19-01-2009
hotjonny

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
тогда, где хранится это значение т.к. оно не табличное в расходной накладной, а вычисляемое.

Всего записей: 11 | Зарегистр. 13-01-2006 | Отправлено: 14:56 19-01-2009
dimaxmaster

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
тогда, где хранится это значение т.к. оно не табличное в расходной накладной, а вычисляемое.

 
пробуй делать ее реквизитом

Всего записей: 333 | Зарегистр. 05-06-2008 | Отправлено: 17:24 19-01-2009
noVel



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gorlanovmax

Цитата:
А чем он сложный?  
 
Вал=СоздатьОбъект("Справочник.Валюты");  
Вал=Константа.ВалютаУпрУчета; (это константа в ТиС 937, если у тебя другой релиз, то посмотри в константах)  
ПечРозн = глФРМ(ТаблицаТоваров.Цена,Вал);  
где Вал - это элемент справочника валюты  

Так, а на выходе, что будит.... 1'256.56 рубли, а мне надо 1'256 руб. 56 коп. или я не прав ?

Всего записей: 1097 | Зарегистр. 01-12-2002 | Отправлено: 18:04 19-01-2009 | Исправлено: noVel, 18:06 19-01-2009
gorlanovmax



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Так, а на выходе, что будит.... 1'256.56 рубли, а мне надо 1'256 руб. 56 коп. или я не прав ?

 
Да. Немного не то. Сейчас еще покопаюсь

Всего записей: 141 | Зарегистр. 27-06-2006 | Отправлено: 21:39 19-01-2009
endym



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
hotjonny
автоматически - обозначает что будет браться откуда-то, или вычисляться.
 
по поводу хранения всего этого - 2 варианта
 
ТЗ (таблица значений), перед открытием загружать данные, перед закрытием сохранять в строку (реквизит тип строка с неограниченной длиной)

Всего записей: 260 | Зарегистр. 01-12-2003 | Отправлено: 10:25 20-01-2009
spetr

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Интересует как можно задействовать в 1С 8.1 Бухгалтерии предприятия учет в рознице по партиям товара, т.е чтобы при подборе было видно несколько позиций с одинаковым наименованием, но с разными ценами.
Чего-то ничего непонимаю, вроде они рекламировали, что есть в программе партионный учет, только вот где он - непонятно? (в настройках учет по партиям включен)
Если это всетаки неработает в данной конфигурации, то может кто-то уже дорабатывал конфигурацию для такого учета - поделитесь конфигурацией с примером доработки.

Всего записей: 213 | Зарегистр. 05-12-2003 | Отправлено: 11:10 20-01-2009
Visman

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
Есть 1С 7.7 ЗиК 2.3
Требуется рассчитать резерв отпусков и вывести в виде таблицы: сотрудник, дни, средний заработок и сумма.
Но главное тут - получить средний заработок за период для каждого сотрудника.
В ЗиК есть два документа (Начисление отпуска и Больничный лист) в которых этот средний заработок вычисляется, но больно уж страшненько это выглядит (в смысле: черт ногу сломит)
 
Кто решал аналогичную задачу для себя? Помогите, пожалуйста.
Или подскажите более простой расчет среднего заработка для работника за период по сравнению со стандартным ужасом.

Всего записей: 71 | Зарегистр. 09-10-2006 | Отправлено: 11:37 20-01-2009
Rehcraeser



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
тогда, где хранится это значение т.к. оно не табличное в расходной накладной, а вычисляемое.

А в чем проблема то? Если ты создаешь именно "Документ" с ТЧ, то можно сделать, например, так.
В табличной части своего документа в свойствах колонки, где выбираешь накладные, прописываешь процедуру, например, ПриВыбореНакладной(). В модуле формы документа прописываешь эту процедуру, например, так:
 
Процедура ПриВыбореНакладной()
 
Если Накладная.Выбран()=1 Тогда    // Накладная - это идентификатор колонки, где выбираешь накладную.
 
СуммаСНДС = Накладная.Итог("Всего"); //  СуммаСНДС - идентификатор колонки твоей суммы.  
                                                             //  Всего - идентификатор колонки, в которой в накладной хранится сумма с  
                                                              // НДС в табличной части.
КонецЕсли;
 
КонецПроцедуры
 
З.Ы. Естественно все идентификаторы ставишь свои. То бишь те, которые заданы в накладной твоей и в табличной части создаваемого документа. Если в накладной в табличной части нету поля, в котором сидит готовая сумма с НДС, тогда надо сделать Накладная.Итог("Сумма")+Накладная.Итог("НДС"). Где "Сумма" и "НДС" - это поля, где сидит сумма без НДС и НДС соответственно. Надо только проверить, чтобы в свойствах колонок накладной стояла галочка "Итог по колнке".
 
Добавлено:

Цитата:
Помогите понять как сделать!  
есть строка к примеру 1+9-2+6 (это строка)  
В итоге нужно преобразовать строку в число и вычислить вырожение.  
Я не понимаю как это сделать.

 
Например так:
 
 

Код:
Функция ВыражениеСтрока(АнализСтр = "")
 
    Рез = 0;ч=0;
    НаборЦифр = "0123456789";
    Знаки = "+-";
    Если ПустаяСтрока(АнализСтр)=1 Тогда
        Возврат Рез;
    КонецЕсли;
    Ст = СокрЛП(АнализСтр);
    Чис1 = 0;Чис1с = "";
    Чис2 = 0;Чис2с = "";
    Знак = "";
    Нашли1 = 0;
    Для ч=1 по СтрДлина(Ст) цикл
        Сим = Сред(Ст, ч, 1);
        Если (СтрЧислоВхождений(НаборЦифр,Сим)>0)и(Нашли1 = 0) Тогда
            Чис1с = Чис1с + Сим;
        ИначеЕсли (СтрЧислоВхождений(НаборЦифр,Сим)>0) Тогда
            Чис2с = Чис2с + Сим;
        ИначеЕсли (СтрЧислоВхождений(Знаки,Сим)>0)и(Нашли1 = 0) Тогда
            Знак = Сим;
            Нашли1 = 1;Чис1 = Число(Чис1с);
        ИначеЕсли (СтрЧислоВхождений(Знаки,Сим)>0)и(Нашли1 = 1) Тогда
            Чис2 = Число(Чис2с);
            Если Знак = "+" Тогда
                Чис1 = Чис1+Чис2;
            Иначе
                Чис1 = Чис1 - Чис2;
            КонецЕсли;
            Знак = Сим;
            Чис2с = "";
        КонецЕсли;        
    КонецЦикла;
    Чис2 = Число(Чис2с);
    Если Знак = "+" Тогда
        Чис1 = Чис1+Чис2;
    Иначе
        Чис1 = Чис1 - Чис2;
    КонецЕсли;
    Рез = Чис1;
    
    
    Возврат Рез;
КонецФункции

 
Лень было писать проверку на допустимые символы в выражении, поэтому, если надо, допишешь сам.

Всего записей: 3 | Зарегистр. 20-01-2009 | Отправлено: 12:46 20-01-2009 | Исправлено: Rehcraeser, 12:58 20-01-2009
WebFX



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет!
 
Где найти фриланс програмера 1с, нужно для 1С:Предприятие 8.0 (8.0.12.21) "Управление торговлей", редакция 10.2 (10.2.6.4) сдалать форму в которой бы задавались данные, и на основании этих данных открывались бы карточки автоматом.
 
Спасибо!

Всего записей: 101 | Зарегистр. 04-07-2006 | Отправлено: 14:25 20-01-2009
deuse12

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Rehcraeser

 
Спасибо большое

Всего записей: 9 | Зарегистр. 15-08-2006 | Отправлено: 20:43 20-01-2009
Rehcraeser



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
deuse12
Цитата:
Спасибо большое

 
Всегда рад помочь. При желании можно усложнить алгоритм и впихнуть умножение/деление, скобки. Соответственно приоритет операций придется определять. Когда-то такое делал. Алгоритмизация - великая вещь.
Если не секрет - для чего это было нужно?

Всего записей: 3 | Зарегистр. 20-01-2009 | Отправлено: 01:03 21-01-2009
Visman

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Свой вопрос снимаю.
Сам кажется додумался

Всего записей: 71 | Зарегистр. 09-10-2006 | Отправлено: 06:50 21-01-2009
klimanoff



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1с ТиС 77
 
Есть урбд офис и магазин.
У офиса префикс "б" у магазина "м".
Подскажите, пожалуйста, можно ли для определенного вида документов добавлять дополнительный префикс, например - если выписана реализация с офиса то префикс становился "бр"?, если заявка то "бз", соответственно с магазина "мр" и "мз"
 
Как добавить префикс я понял  
 

Цитата:
УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ)+"желаемый префикс");
 
 
Проблема с документом "Заявка покупателя", в нем есть три вида операции:
- неподтвержденная заявка
- на склад
- на поставку
 
Каким образом можно сделать, чтобы номер проставлялся в зависимости от того какая операция выбрана?
 

Цитата:
Процедура ВводНового(Скопирован)
                 
    глЗаполнитьШапку(Контекст, Скопирован,"Продажа");  
    
    
    Если Скопирован = 1 Тогда
        ПересчетСуммыВзаиморасчетов();
        Возврат;
    КонецЕсли;
    
    ВидОперации = Перечисление.ВидыОперацийЗаявок.Неподтвержденная;  
    Форма.СпособРезервирования.Доступность(0);  
    
    Конецесли;    
    Конецесли;
    Если ВыбратьВидОперации(0) <> 1 Тогда  
        
        СтатусВозврата(0);  
        
        Возврат;
    КонецЕсли;                  
    
    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
        Если Форма.Параметр = "Склад" Тогда  
            
            ВидОперации = Перечисление.ВидыОперацийЗаявок.НаСклад;
              
        ИначеЕсли Форма.Параметр = "Поставка" Тогда
            ВидОперации = Перечисление.ВидыОперацийЗаявок.НаПоставку;
            
        КонецЕсли;
    КонецЕсли;    
    
    // Документы оптовой торговли можно оформлять только с оптового склада
    Если (Склад.РозничныйСклад = 1) Тогда
        Склад = "";
    КонецЕсли;
КонецПроцедуры // ВводНового()  
 

Всего записей: 80 | Зарегистр. 07-04-2008 | Отправлено: 12:43 21-01-2009 | Исправлено: klimanoff, 13:15 24-01-2009
An4eus



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
вот наконец добрался до этой темы....
 
ech
Цитата:
Процедура ОбработкаПодбора(номенк)
    Если     подб = 1 тогда  
        ТЗ.НоваяСтрока();  
        ТЗ.Номенклатура = номенк;
        АктивизироватьСтроку();  
    КонецЕсли;
КонецПроцедуры
 
Процедура КликПоТЗ()
     
    //Если ТЗ.КоличествоСтрок() = 0 Тогда
    //    Возврат;
    //КонецЕсли;
    Стр = ТЗ.ТекущаяСтрока();
    Кол = ТЗ.ТекущаяКолонка();
    Значение = ТЗ.ПолучитьЗначение(Стр,Кол);
    Тип = ТипЗначенияСтр(Значение);
    Если Тип="" Тогда
        ОткрытьПодбор("Справочник.Номенклатура","Номенклатура",,0);
        подб = 1;
    КонецЕсли;
    ТЗ.УстановитьЗначение(Стр,Кол,Значение);  
КонецПроцедуры
 
При   двойном клике по ТЗ (ТЗ на форме отчета), я хочу чтобы открывалась форма для подбора (она открываеться), и выбирался из нее элемент кот я хочу! В модуле дока такое работает, а вот в модуле отчета ругается на  
АктивизироватьСтроку();

надо так:
Код:
Процедура ОбработкаПодбора(номенк)    
        ТЗ.НоваяСтрока();  
        ТЗ.Номенклатура = номенк;    
КонецПроцедуры
 
Процедура КликПоТЗ()
    //это процедура на ТЗ, которая на форме!!!
    Стр = ТЗ.ТекущаяСтрока();
    Кол = ТЗ.ТекущаяКолонка();
    Значение = ТЗ.ПолучитьЗначение(Стр,Кол);
    Тип = ТипЗначенияСтр(Значение);
    Если Тип="" Тогда
        [color=blue]//ОткрытьПодбор("Справочник.Номенклатура","Номенклатура",,0);        
        //можно просто, т.к. добавление в ТЗ будет в процедуре ОбработкаПодбора(<?>)[/color=blue]
       ОткрытьПодбор("Справочник.Номенклатура");        
    КонецЕсли;    
КонецПроцедуры

 
 
Добавлено:
InSe0F
Цитата:

Цитата:
двойном клике по ТЗ (ТЗ на форме отчета

жесть))
ты даж ТЧ от ТЗ отличить не могешь)

там всё правильно вопрос написан!
 
Добавлено:
deuse12
Цитата:
Помогите понять как сделать!
есть строка к примеру 1+9-2+6 (это строка)
В итоге нужно преобразовать строку в число и вычислить вырожение.
Я не понимаю как это сделать.
 

ха... ну если помимо плюсов ещё что-то, то кури ПОЛЬКУ здесь и здесь
 
 
Добавлено:
Rehcraeser
Цитата:
Добавлено:

Цитата:
Помогите понять как сделать!  
есть строка к примеру 1+9-2+6 (это строка)  
В итоге нужно преобразовать строку в число и вычислить вырожение.  
Я не понимаю как это сделать.

 
Например так:
 
 

Код:
Функция ВыражениеСтрока(АнализСтр = "")
 
    Рез = 0;ч=0;
    НаборЦифр = "0123456789";
    Знаки = "+-";
    Если ПустаяСтрока(АнализСтр)=1 Тогда
        Возврат Рез;
    КонецЕсли;
    Ст = СокрЛП(АнализСтр);
    Чис1 = 0;Чис1с = "";
    Чис2 = 0;Чис2с = "";
    Знак = "";
    Нашли1 = 0;
    Для ч=1 по СтрДлина(Ст) цикл
        Сим = Сред(Ст, ч, 1);
        Если (СтрЧислоВхождений(НаборЦифр,Сим)>0)и(Нашли1 = 0) Тогда
            Чис1с = Чис1с + Сим;
        ИначеЕсли (СтрЧислоВхождений(НаборЦифр,Сим)>0) Тогда
            Чис2с = Чис2с + Сим;
        ИначеЕсли (СтрЧислоВхождений(Знаки,Сим)>0)и(Нашли1 = 0) Тогда
            Знак = Сим;
            Нашли1 = 1;Чис1 = Число(Чис1с);
        ИначеЕсли (СтрЧислоВхождений(Знаки,Сим)>0)и(Нашли1 = 1) Тогда
            Чис2 = Число(Чис2с);
            Если Знак = "+" Тогда
                Чис1 = Чис1+Чис2;
            Иначе
                Чис1 = Чис1 - Чис2;
            КонецЕсли;
            Знак = Сим;
            Чис2с = "";
        КонецЕсли;        
    КонецЦикла;
    Чис2 = Число(Чис2с);
    Если Знак = "+" Тогда
        Чис1 = Чис1+Чис2;
    Иначе
        Чис1 = Чис1 - Чис2;
    КонецЕсли;
    Рез = Чис1;
     
     
    Возврат Рез;
КонецФункции

 
Лень было писать проверку на допустимые символы в выражении, поэтому, если надо, допишешь сам.

1. не все варианты считает
2. а что отрицательные/дробные числа отменили?
3. так помимо сложения/умножения, есть еще много операций!


----------
Век живи - век учись!

Всего записей: 3768 | Зарегистр. 23-07-2007 | Отправлено: 19:50 21-01-2009 | Исправлено: An4eus, 19:54 21-01-2009
mental5058

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
 
подскажите кто нибудь работал с SDK :: MIFARE® в 1С:Предприятие

Всего записей: 24 | Зарегистр. 26-11-2007 | Отправлено: 13:45 23-01-2009
newjon



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mental5058
 

Цитата:
Добрый день!  
 
подскажите кто нибудь работал с SDK :: MIFARE® в 1С:Предприятие

 
а что это ваще такое ?
 
 
Сам нашел

Всего записей: 395 | Зарегистр. 03-06-2005 | Отправлено: 20:47 23-01-2009 | Исправлено: newjon, 20:51 23-01-2009
An4eus



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mental5058
Цитата:
Добрый день!
 
подскажите кто нибудь работал с SDK :: MIFARE® в 1С:Предприятие
что там такое, что нетак?

----------
Век живи - век учись!

Всего записей: 3768 | Зарегистр. 23-07-2007 | Отправлено: 12:35 24-01-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка
ShIvADeSt (03-04-2009 02:03): Продолжение тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10256#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru